俺们单位的面试题目

其实这个面试题目是为了找一个可以和面试者可以聊的话题。不然也不知道唠啥。面试者随便找个题目聊聊就ok了

1.    数据库中有2张记账表,分别是A 和 B。他们之间可以通过一个结账流水号进行连接,我们现在进行这2两张表的对账,查询出数据不一致的记录。请写出示意的SQL 语句。注意,有3种情况:
a)    A表没有,B表有的情况
b)    A表有,B表没有的情况
c)    A表和B表的金额不一致的情况

2.    假设有一些日志文件,这些日志文件是文本格式的,现在运维人员需要一个工具,输入一个关键字,然后在文本文件中查询出包含该关键字的行,该如何实现这样的一个工具。如果一天一个日志文件,这个文件大约有700M,包含大约800万行数据,那么搜一次要多久?这样的一个查询的理论时间该如何估算。
3.    需要开发一个页面,这个页面的左下方有部分需要实时刷新,需要如何实现?不同的实现方式有什么优缺点。
4.    假设目前有个第三方应用软件,这个软件的开发商已经找不到了,我们现在需要整合这个软件。我们该如何动手?
5.    32位系统和64位系统在开发时有什么需要注意的地方?
6.    假设有一些货物,A货物5元钱,B货物7块钱,C货物9块钱,现在给你116块钱让你从这些货物中挑选任意几种进行购买,购买的数量也是任意的,如何购买才能剩下的钱最少。如果有几千种货物,给你的钱又比较大,那么计算时需要注意哪些地方?
7.    一副图像,图像中有很大的部分是渐变色的背景,比较这种图像分别用JPEG和PNG存储,有什么不同的地方。
8.    假设让你开发一个Socket Server,有3种场景100个并发、1000个并发、10000个并发,分别适合用什么方式进行开发。
9.    说说对于XML 、JSON的感觉。
10.    假设有一块不规则形状的土地,如果在这块土地种树,每颗树之间距离不能小于1.5米,请计算出一个尽可能多种树的方案。
11.    谈谈对医疗影像的认识,谈谈Dicom阅片软件的最常见的功能。最早的移动影像工作站是啥时候的?
12.    谈谈对SQL Server 、Oracle、Mysql 、Sqlite、PostgreSQL的认识。说说对大型存储的认识。
13.    谈谈性能的优化。
14.    构思一个UDP的应用场景。
15.    假设用一颗tree来保存一个企业的组织结构和人员信息 ,大约有10个level 共10万个node,每个节点有头像、名称、简介等信息,如果需要把这整颗tree完整的打印到若干张20*20CM的纸张上,并且需要画出父子节点间的连线,每页最多能包含20个节点左右,该如何处理? 注意头像要完整,不能打印在两张纸上。
16.    为什么有些人喜欢一个整数来记录一个IP地址?
17.    假设你要开发一个网络程序,客户端和服务段的通讯是采用压缩的传输,你如何选择压缩方式?假设需要传输的数据主要是一个数组,数组的数字,一般小于100,也有个别数字会比较大(大于65535),请你选择一个压缩算法。
18.    “变量分为固定长度的和变长的,占用相同字节数的变量,可以认为是同种类型的变量”,你对这句话的如何理解的?
19.    假设有个地图,有些地方是不能走的,如果给出两个位置,计算出这两个位置是否能够互相走到?最简单的写法怎么写,如果要提高性能,该怎么写?
20.    说说对线程的理解,在开发上需要注意啥。
21.    说说在递归中如何防止无法收敛。
22.    谈谈富文本编辑器,电子病历、结构化电子病历
23.    如果在linux下开发一个有图形界面的程序,你会选择啥开发工具?如果你要开发一个windows下的应用程序,你会选择啥开发工具。如果你要用一个脚本引擎封装业务逻辑,你会选择啥语言?
24.    谈谈你对Python的认识
25.    谈谈APK、smali。谈谈android开发和ios开发。 


参考答案:
1.    全连接  where (A和B不等) or (B的结账流水号 is null) or (A的结账流水号 is null)
2.    在服务器上启动一个服务(可以是Sokcet 和可以是WEB), 考虑内存的使用。速度大约是硬盘顺序读整文件的1.5-2.5倍,1秒到十秒。看是啥硬盘。
3.    Ajax ,另外很多前端框架都支持,或者iFrame
4.    分析这个第三方软件的组成,查看配置,引用的DLL或者对象,开发语言。然后根据需要,整理思路,找切入点。
5.    注意DLL的版本,另外考虑内存的管理,有些需要性能的地方也可以使用int64进行优化
6.    这个就是一个组合算法,如果量大就有很多很多分支了。有贪心算法,或者其他的控制,避免内存耗尽。
7.    JPEG基于视觉进行压缩,在有渐变背景时,有时有很高的压缩率,这里还涉及了无损和有损,还有压缩级别。PNG是基于像素数据进行压缩的,对于一些图片,压缩比例不大。
8.    100个线程 、1000个线程池、10000个重叠端口。另外有些语言也有一些封装,例如c#的异步端口,pyhon 的无栈服务。
9.    XML 比较中庸 适合存储和扩展,例如 CDR SVG OpenDocument。 Json 比较轻盈 适合通讯。 
10.    fill 实心圆 ,偷懒可以用物理引擎
11.    DICOM 的传输协议,文件格式,测量、伪彩、调窗等,一战
12.    SQL Server 好用、Oracle 在一些行业中比较认可、Mysql 免费、Sqlite 文件型、PostgreSQL 是免费的Oracle。大型存储不是数据库,有时候是数据仓库的概念,是根据实际的需要进行分析的。有时候用Sqlite(虽然他在跨进程上有致命伤)也可以组建一个千亿级别的数据存储服务(可能需要几十台机器)。如果没有认真分析,用Oracle,有时都到不了5000万。Teradata在1996年就做到了100T的存储。有不少PB级的方案。
13.    尽量减少低速设备上的处理(如IO)。缓存和预算,避免重复。优化算法。
14.    局域网文件分段传输(真的很快),一些网络设备的管理 DHCP SNMP,广播。
15.    使用一张大位图然后再分割的方法是不可行的,因为内存不够,哪怕是草稿质量,也是300dpi,算算,一般机器也够呛。需要自己定义数据类型或者用矢量图。
16.    4字节
17.    权衡压缩率和计算代价。其实通讯领域上有个简单算法,小于128的数字用Byte,当大于128时,字节的高位置1,表示这是一个大于128的数字,如和下一个字节一起计算。国内的一个著名的棋牌平台就是使用这种方式的。实际上这个是几十年前的单片机常用的。现在好像facebook也用了这个算法叫做zigzag。反正就是把那些0给压缩掉。实际上没有最好的,只有合适的,需要根据业务需求,数据特点进行选择。
18.    这是俺的理解。
19.    最简单的方法是fill,如果要优化,那么事先对这个地图的每个区域进行填充,每次填充用不同的数字,例如1、2、3、4、5……。把结果保存到二维数组中。当判断时,只要这两个位置对应的数字是一致的,那么这两个位置就是可以互相走到的。
20.    异步,充分利用资源。有时像百米赛跑,一声枪响,8个线程一起跑,但是不知道谁第一个跑完。线程安全,临界区,锁。
21.    最简单的方法就是在递归函数中加一个参数。网易喜欢用stacksize,以太坊喜欢用gas,有gas就干活,干活就费gas,没有gas就中止。
22.    RichEdit 、dev、浏览器的编辑模式、ole容器、排版、数据关联。。。。
23.    Linux:QT C++、delphi,Windows:C# 、delphi,脚本语言:C#,Python,LUA。C#其实用做脚本很不错,无论是Windows下的实时编译,还是跨平台的mono。
24.    印象:胶水、脚本。领域: 网游(网易 例如收入XX亿的梦幻),金融(摩根大通的基金经理好像要求Python),ERP(OPENERP),人工智能 (CNTK 胶水)
25.    Smali注入还算方便。Android:国内 android studio 比较多,国外 vs 已经有很大的比例了(包括ios),实际上Android的开发工具不少,但是好用的不多。IOS :Objective-C一开始真的不习惯。
 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

月巴月巴白勺合鸟月半

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值