笔试面试题积累

Zhaoyu Luo bio photo By Zhaoyu Luo

title: 笔试面试题积累 date: 2012-04-26 22:46:13 updated: 2012-04-26 22:46:13 tags: uri: —

  1. 找出不存在40亿个数中的数:当内存足够大时用位图(如果40亿个数的最大最小已知的话);当内存不够大时,把所有数hash取余,切成各种小文件后再分别处理,最后汇总

  2. 加速使用动态链接库的服务器应用:将编译时动态链接的程序改为调用时的动态加载,使用dlopen函数。这个函数可以把频繁调用的函数直接加载入进程的内存中。而编译时动态链接只在进程中保存了映射地址,需要一次解析前往被动态链接的内存地址。

  3. N条有序单链表归并:建立一个N长度小顶堆,每次挑最小

  4. 单链表找出最后第k个数:保留之前第k个的指针,指针走一步,前面第k个指针走一步;保留一个k长度的循环队列,把读到的链表依次循环写进去

  5. 一个用户请求是如何被处理,如何被返回的?如php文件

  6. map是如何实现的?hash是使用什么方法?

  7. 如何做好缓存?

  8. mysql的引擎有哪些?各有什么优劣?

  9. python语言特性有哪些?与其它语言有什么独到地方?

  10. 用户认证,session如何实现最好?每个用户通过唯一个sessionID标识自己的session,此sessionID会保留在客户端的cookie内。如果客户端禁用cookie,客户端的浏览器首先会把sessionID保存在浏览器内存中,并使用url重写上jsessionid——response.sendRedirect(response.encodeURL(‘mysite/url’));

  11. SQL基本功,找出选修所有课程学生姓名,没有选修数学课程学生姓名:group by;not in