这是别人面试的题目,我自己无聊尝试完成下
百度一面
1.给一个函数,返回0和1,概率为p和(1-p),请你实现一个函数,使得返回0和1概率一样。
分析:该问题在左腾云的书上有讲过,思路一般利用乘和加数学方式完成,该题共分母 p(1-p)
回答:设f(x)为0:p 1:(1-p)
p*f(x)为0:p 1:(1-p)
(1-p) 0:p 1:1-p
pf(x)+(1-p)f(x)为 0 :p2 1 :2(p)(1-p) 2:1-p2+2p
2.10亿个url,每个url大小小于56B,要求去重,内存4G
思路:一般海量数据分块或者堆排序
答案56B=64B=2^6 4g=2^12m=2^22b 肯定是放不下
把它分割成1024快 去重可以考虑排序
3.如何把一个bst转为一个双向链表
思路:树的序列化
答案:
4.http 和https区别,http在请求时的额外过程,http如何保证数据安全
思路:https ssl
5.IP地址子网划分
思路:分两部分 四类地址
6.POST和GET区别
思路 请求工作的区别
答案 post会将内容放在body,get是放在head里,更加安全,而且能写入耕读数据
7.DNS解析过程
思路:树形结构,向上解析
答案:
8.软连接和硬链接区别
思路:软连接
9kill命令 杀不死进程的原因
思路:杀死进程 孤儿进程 僵尸进程
10 linux命令用过哪些
思路 按类别来讲 find awk
11.管道的使用
思路:进程间通信 有名特点 无名特点
12.grep 使用
思路从文件查找回答
13.其他shell
百度二面
关于项目 就不说了
1.epoll
2.sql
3.手写一个全排列
思路:分治
4.b系列的树
5.hash
6.进程间通信分析
百度3面
1.平时看的技术博客 ,书籍
2.写一个strcpy函数
3.给你一个系统 前端加载很慢 ,怎么检测
4系统的量级 pu pv
5.应对高并发的解决方案(分布式)
6.nginx
7.分布式缓存一致性 ,服务器如何扩容
思路:一致性hash
我自己感觉 不太好回答
以后要从这几步学习
一、性能调优
二、源码解读
三、分布式
四、微服务
五、团队协作开发
六:B2C商城项目实战