好多程序员都有着面试的经历,有的时候为了能够得到一个面试机会也是精心准备,看网上有个程序员发帖说,自己的同事住在北京的郊区,为了赶上早上的面试,前一天晚上就在面试公司附近的酒店住了一晚上,也是蛮拼的。
可是啊,就是自己满心期待去面试时却被一些公司的套路寒心。
众所周知,马上就要到金三银四跳槽季了,对于有跳槽想法,或是想要进入大公司提升自己的快来看看这些题,你会吗?
百度一面
1、给一个函数,返回 0 和 1,概率为 p 和 1-p,请你实现一个函数,使得返回 01 概率一样。
2、10 亿个 url,每个 url 大小小于 56B,要求去重,内存 4G。
3、把一个 bst 转化成一个双向链表。
4、http 和 https 区别,https 在请求时额外的过程,https 是如何保证数据安全的;
5、IP 地址子网划分;
6、POST 和 GET 区别;
7、DNS 解析过程;
8、硬链接和软连接区别;
9、kill 用法,某个进程杀不掉的原因(进入内核态,忽略 kill 信号);
10、linux 用过的命令;
11、系统管理命令(如查看内存使用、网络情况)
12、管道的使用;
13、grep 的使用,一定要掌握,每次都会问在文件中查找;
14、shell 脚本;
15、find 命令;
16、awk 使用
百度二面
对照着简历问了些东西。
1、Linux 下的一些指令,$(进程 id),$?(上一条命令退出时状态),怎么查看进程,按照内存大小,CPU 占用排序等等。(大写 M 和大写 P)
2、http 的 get 和 post 方法。
3、介绍下你所了解的 epoll。
4、数据库 sql 的了解程度。
5、项目中遇到的问题,自己咋解决的等等。
6、手写一个全排列。
7、b 树和 b +树。
8、介绍一下 hash,怎么解决冲突。
9、进程间的通信,共享内存方式的优缺点。
百度三面
1、说下你平时看的一些技术博客,书籍;
2、linux 下的一些指令;
3、工作中你觉得最不爽的事情是什么;
4、说下你的优缺点;
6、有没有想过去创业公司;
7、写个 strcpy 函数;
8、说说你自己的性格;
9、给你一个系统(面试官好像是无人车部门的),后台的逻辑已经实现了,但是前端加载很慢,怎么检测;
10、以后可能要学习很多新技术,你怎么看;
11、项目中遇到的困难(提前想好,并且把实现或者优化方法说清楚);
12、系统的量级、pv、uv 等;
13、应对高并发的解决办法(分布式);
14、在项目中主要负责了哪些工作。
15、nginx 的负载均衡;
16、分布式缓存的一致性,服务器如何扩容(哈希环)
内容整理于:风铃无声江舟听雨
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。