各大IT公司笔试面试题目内容摘要:
各大IT公司笔试面试题目 2011 各大 司笔试面试题目分类: C+ 语法知识 20121:05 563 人阅读 评论(1) 收藏 度面试题1、进程切换需要注意哪些问题。 保存处理器 存器的值到被中止进程的私有堆栈; 保存处理器 存器的值到被中止进程的私有堆栈; 保存处理器 存器的值到被中止进程的进程控制块;保存处理器其他寄存器的值到被中止进程的私有堆栈; 自侍运行进程的进程控制块取 并存入处理器的寄存器 自侍运行进程的私有堆栈恢复处理器各寄存器的值;自侍运行进程的私有堆栈中弹出 并送入处理器的 自侍运行进程的私有堆栈中弹出 并送入处理器的、输入一个升序数组,然后在数组中快速寻找两个数字,其和等于一个给定的值。 这个编程之美上面有这个题目的,很简单的,用两个指针一个指向数组前面,一个指向数组的后面,遍历一遍就可以了。 3、有一个名人和很多平民在一块,平民都认识这个名人,但是这个名人不认识任何一个平民,任意两个平民之间是否认识是未知的,请设计一个算法,快速找出这些人中的那个名人。 已知已经实现了一个函数 a,b) 这个函数返回 时候,表明 a 认识 b,返回 时候表明 a 不认识 b。 思路:首先将 n 个人分为 n/2 组,每一组有 2 个人,然后每个组的两个人调用这个 数,假设为 a,b),返回时候说明 a 认识 b,则 a 肯定不是名人,a 可以排除掉了,依次类推,每个组都调用这个函数依次,那么 n 个人中就有n/2 个人被排除掉了,数据规模将为 n/2。 同理在剩下的 n/2 个人中在使用这个方法,那么规模就会将为 n/4,这样所有的遍历次数为 n/2+n/4+n/8+. 这个一个等比数列,时间复杂度为 o(n )。 4、判断一个自然数是否是某个数的平方。 当然不能使用开方运算。 方法 1:遍历从 1 到 N 的数字,求取平方并和 N 进行比较。 如果平方小于 N,则继续遍历;如果等于 N,则成功退出;如果大于 N,则失败退出。 复杂度为 O(n方法 2:使用二分查找法,对 1 到 N 之间的数字进行判断。 复杂度为 O(n)。 方法 3:由于(n+1)2=n2 + 2n + 1,= .= 1 + (2*1 + 1) + (2*2 + 1) + . + (2*n + 1)注意到这些项构成了等差数列(每项之间相差 2)。 所以我们可以比较 N - 1 - 3, N - 1 - 3 - 5 . 和 0 的关系。 如果大于 0,则继续减;如果等于 0,则成功退出;如果小于 0,则失败退出。 复杂度为 O(n不过方法 3 中利用加减法替换掉了方法 1 中的乘法,所以速度会更快些。 例如:32 = 9 = 1 + 2*1+1 + 2*2+1 = 1 + 3 + 542 = 16 = 1 + 2*1 + 1 + 2*2+1 + 2*3+1n) 2. 3. i = 1; 4. n = n - i; 5. n > 0 ) 6. 7. i += 2; 8. n -= i; 9. 10. n = 0 ) /是某个数的平方 11. ; 12. /不是某个数的平方 13. ; 14. 百度 园招聘会笔试题一、算法设计1、设 s,t)返回s,t之间的随机小数,利用该函数在一个半径为 R 的圆内找随机 n 个点,并给出时间复杂度分析。 思路:这个使用数学中的极坐标来解决,先调用s1,机产生一个数 r,归一化后乘以半径,得到 R*(然后在调用随机产生一个数 a,归一化后得到角度:360*(、为分析用户行为,系统常需存储用户的一些 因 常多,故系统不能全存,设系统每天只存m 个 设计一个算法,对用户请求的 行随机选择 m 个,请给一个方案,使得每个 抽中的概率相等,并分析之,注意:不到最后一刻,并不知用户的总请求量。 思路:如果用户查询的数量小于 m,那么直接就存起来。 如果用户查询的数量大于 m,假设为 m+i,那么在 1i 之间随机产生一个数,如果选择的是前面 m 条查询进行存取,那么概率为 m/(m+i),如果选择的是后面 i 条记录中的查询,那么用这个记录来替换前面 m 条查询记录的概率为 m/(m+i)*(1-1/m)=(m+i),当查询记录量很大的时候, m/(m+i )= (m+i),所以每个 、C+ 相关问题:(1)、调用 ,其内部的内存分配是如何进行的。 (2)、调用 ,内部是如何具体实现的。 若想将其内存释放,该如何操作。 工作原理是系统预先分配一块 小的空间,当插入的数据超过这个空间的时候,这块空间会让某种方式扩展,但是你删除数据的时候,它却不会缩小。 了防止大量分配连续内存的开销,保持一块默认的尺寸的内存,是清数据了,未清内存,因为 量未变化,系统维护一个的默认值。 有什么方法可以释放掉 占用的全部内存呢 ?标准的解决方法如下;事实上,本就不管内存,它只是负责向内存管理框架 存,内存管理框架如果发现内存不够了,就是当 放资源的时候 (比如 本就不调用 减少内存,因为内存分配在 底层:定如果你需要更多的资源就代表你以后也可能需要这么多资源(你的 是用这些内存) ,所以就没必要不停地果是这个逻辑的话这可能是个 存管理器 是用内存池来管理内存的,所以某个容器申请内存或释放内存都只是影响到内存池的剩余内存量,而不是真的把内存归还给系统。 这样做一是为了避免内存碎片,二是提高了内存申请和释放的效率不用每次都在系统内存里寻找一番。 二、系统设计正常用户端每分钟最多发一个请求至服务端,服务端需做一个异常客户端行为的过滤系统,设服务器在某一刻收到客户端 A 的一个请求,则 1 分钟内的客户端任何其它请求都需要被过滤,现知每一客户端都有一个 址可作为其 户端个数太多,以至于无法全部放到单台服务器的内存 中,现需简单设计一个系统,使用支持高效的过滤,可使用多台机器,但要求使用的机器越少越好,请将关键的设计和思想用图表和代码表现出来。 三、求一个全排列函数:如 p(1,2,3)输出:123、132、213 、231 、321 、323求一个组合函数如 p(1,2,3)输出:1、2 、3 、1,2、2,3、1,3、 1,2,3这两问可以用伪代码。 网易游戏 园招聘会笔试题1、对于一个内存地址是 32 位、内存页是 8系统。 0个地址的页号与页内偏移分别是多少。 2、如果 X 大于 0 并小于 65536,用移位法计算 X 乘以 255 的值为: (X(p); 5. ; 6. p = 7. sn",p); 8、在一冒险游戏里,你见到一个宝箱,身上有 N 把钥匙,其中一把可以打开宝箱,假如没有任何提示,随机尝试,问:(1)恰好第 K 次( 1= 2. 3. 4. 5. 6. A() 7. 8. 13. 14. p= 15. p-> 16. p-> 17. 18. 19. 20. p; 21. if(p-> 22. p); 23. p= 24. 25. 26. p; 27. 28. 29. 30. 31. 32. ); 33. ; 34. 35. ; 36. 2、假设某个网站每天有超过 10 亿次的页面访问量,出于安全考虑,网站会记录访问客户端访问的 址和对应的时间,如果现在已经记录了 1000 亿条数据,想统计一个指定时间段内的区域 址访问量,那么这些数据应该按照何种方式来组织,才能尽快满足上面的统计需求呢,设计完方案后,并指出该方案的优缺点,比如在什么情况下,可能会非常慢。 答:用 B+树来组织,非叶子节点存储(某个时间点,页面访问量),叶子节点是访问的 址。 这个方案的优点是查询某个时间段内的 问量很快,但是要统计某个 访问次数或是上次访问时间就不得不遍历整个树的叶子节点。 答:或者可以建立二级索引,分别是时间和地点来建立索引。 四、附加题1、写出 C 语言的地址对齐宏 其中 P 是要对齐的地址,要对齐的字节数(2 的N 次方),比如说:3,16)=161. ,( ( (+() ) 2、在高性能服务器的代码中经常会看到类似这样的代码:;m。各大IT公司笔试面试题目
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。