笔试题目探究(持续更新)
2014-08-29 15:05
204 查看
作者:disappearedgod
文章出处:/article/3730193.html
时间:2014-8-29
——————
Alibaba
1.题目:在一个文件中有 10G 个整数,乱序排列,要求找出中位数。内存限制为 2G。只写出思路即可(内存限制为 2G的意思就是,可以使用2G的空间来运行程序,而不考虑这台机器上的其他软件的占用内存)。
二分可以 桶排序也可以
这里更准确点说是快排的partition过程
中位数你定位到在哪个地方就可以了
lgn
2.一个容器类数据结构,读写平均,使用锁机制保证线程安全。如果要综合提高该数据结构的访问性能,最好的办法是()
A. 只对写操作加锁,不对读操作加锁
B.读操作不加锁,采用copyOnWrite的方式实现写操作
C.分区段加锁
D.无法做到
C:读写平均说明在操作上加锁没有用,读写锁适合场景是 读多写少。
Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。
3.如下程序存在的问题___
class A{
public:
A(B * b):_b(b) {}
~A() {delete b;}
private:
B* _b;
}
int main()
{
B b;
A(&b);
return 0;
}
A. double free
B. stack free
ANS:delete栈内存问题,delete,是用于new出来的动态内存的,系统会把栈区当成堆区释放(delete会调用heapfree)
4. 一个二进制网络通信协议的豹纹,包头定长,除了包头意外,可以携带长度和内容都不定的负载,设计报文格式时,可以用____方式,确定协议处理程序能够正确识别每一个报文:
A. 在报头中第一个定长字段中写明报文全长
B. 在报头中某个定长字段中写明负载长度
C. 在报文头尾加固定长度的边界符
D. 使用定长报文,如负载超长,则分片
写明长度就可以识别(A.定长报头,先截获再获取)
5.
Ans: 动态规划
C(6,4)-2 = 6!/(4!*2!)-2
横着走是1,竖着走是0,排列组合
C(6,2)是在把图补全为矩形的情况下计算的,左下角和右上角你走不到,所以-2
6.
特殊Hash(概率)
大题
1. 有两个较长的单向链表a和b, 为了找出节点node满足node in a 并且 node in b,请设计空间使用尽量小的算法(C/Java/伪代码)
Anwer:找出第一个公共点,后面都是了。
2.淘宝网
文章出处:/article/3730193.html
时间:2014-8-29
——————
Alibaba
1.题目:在一个文件中有 10G 个整数,乱序排列,要求找出中位数。内存限制为 2G。只写出思路即可(内存限制为 2G的意思就是,可以使用2G的空间来运行程序,而不考虑这台机器上的其他软件的占用内存)。
二分可以 桶排序也可以
这里更准确点说是快排的partition过程
中位数你定位到在哪个地方就可以了
lgn
2.一个容器类数据结构,读写平均,使用锁机制保证线程安全。如果要综合提高该数据结构的访问性能,最好的办法是()
A. 只对写操作加锁,不对读操作加锁
B.读操作不加锁,采用copyOnWrite的方式实现写操作
C.分区段加锁
D.无法做到
C:读写平均说明在操作上加锁没有用,读写锁适合场景是 读多写少。
Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。
3.如下程序存在的问题___
class A{
public:
A(B * b):_b(b) {}
~A() {delete b;}
private:
B* _b;
}
int main()
{
B b;
A(&b);
return 0;
}
A. double free
B. stack free
ANS:delete栈内存问题,delete,是用于new出来的动态内存的,系统会把栈区当成堆区释放(delete会调用heapfree)
4. 一个二进制网络通信协议的豹纹,包头定长,除了包头意外,可以携带长度和内容都不定的负载,设计报文格式时,可以用____方式,确定协议处理程序能够正确识别每一个报文:
A. 在报头中第一个定长字段中写明报文全长
B. 在报头中某个定长字段中写明负载长度
C. 在报文头尾加固定长度的边界符
D. 使用定长报文,如负载超长,则分片
写明长度就可以识别(A.定长报头,先截获再获取)
5.
Ans: 动态规划
C(6,4)-2 = 6!/(4!*2!)-2
横着走是1,竖着走是0,排列组合
C(6,2)是在把图补全为矩形的情况下计算的,左下角和右上角你走不到,所以-2
6.
特殊Hash(概率)
大题
1. 有两个较长的单向链表a和b, 为了找出节点node满足node in a 并且 node in b,请设计空间使用尽量小的算法(C/Java/伪代码)
Anwer:找出第一个公共点,后面都是了。
2.淘宝网
相关文章推荐
- 最近遇到的一些笔试面试题目(持续更新中。。)
- 笔试面试经典题目及解答——持续更新中
- java笔试题目(持续更新)
- js坑爹笔试题目汇总(持续更新中)
- js坑爹笔试题目汇总(持续更新中)
- 笔试总结——c、c++【持续更新】
- 一些笔试面试题的简单汇总。持续更新。。。。。。
- HDOJ 入门级深搜DFS 题目汇总,持续更新中,一路打怪升级
- JAVA面试笔试汇总--(持续更新)
- ios笔试题收集(持续更新)
- Android面试题目中容易遗漏的知识点<持续更新>
- 常见笔试题--论述题(持续更新)
- 阿里笔试题(2015)持续更新中
- 【王道笔试题】笔试面试要点(持续更新中!!!!)
- 前端笔试题总结---持续更新
- 笔试总结——数据库篇【持续更新】
- java笔试题的笔记(持续更新)
- 总结面试中遇到的题目---持续更新
- BAT笔试试题常见试题总结含答案(持续更新。。。)
- PHP笔试(持续更新...)