09.17 – 百度搜索研发部 – 天圭
LINUX和C相关问题:
1. static关键字的作用。为什么static变量只初始化一次?说下进程的地址空间(代码段,数据段,堆,栈等)
2.进程和线程的区别?为什么线程的调度开销小?
3.说下select机制
4.为什么需要字节对齐?字节对齐的规则?
算法和数据结构
(运气比较好,面试官没有要求写出程序,只要能说出算法思路就可以):
1.如何将一个字符串中的某一个字符全部删除,原字符串顺序不变?如输入abcdefbbg,删除b后得到acdefg,要求时间复杂度O(N),空间复杂度O(1)
2.如果要求对一个集合进行查询,插入,删除,你会怎么设计它的数据结构?平衡二叉树特点?怎么查询,如果时间复杂度要求比O(logn)更小,采用什么?hash的冲突解决方法有哪些?如果要求有序的输出,是选二叉树还是hash?怎么输出?
3.如何在一个二叉树中找两个节点的最近祖先节点?
4.台阶问题:有n个台阶,每次可以踏一个台阶,或2个,问有多少种走法?
(PS:我写出动态规划的表达式后,面试官问这个对吗?我想了半分钟,觉得有问题,正准备说应该是....,面试官笑着说哦,别看了,没问题,倒....)
文章摘自
2012阿凡提求职手册——IT行业篇
http://bbs.aftjob.com/thread-607158-1-1.html
——
阿凡提百度(Baidu)求职俱乐部http://bbs.aftjob.com/group-4-1.html
——
--
FROM 219.236.30.*