阿里巴巴笔试整理系列 Session2 高级篇

时间:2023-03-09 12:44:25
阿里巴巴笔试整理系列 Session2 高级篇
阿里
一面:
1. 入场就是红黑树,B数
2. apache和nginx源码看过多少,平时看过什么技术论坛,还有没有看过更多的开源代码
3. pthread 到自旋锁
4. hadoop源码看过没
5. 为什么选择TCP而不是直接用服务器
6. 你们的大数据怎么处理的,还怎么优化,说了个公司业务决定分布式是不可能了,最好hash分表
7. 还有一个僵尸进程
二面:
对面好像在吃饭,没理我,我自己从头讲到尾
介绍项目:开始说我们这个网站,后来我想换个项目就开始说c++爬虫项目
围绕这个问的问题:
1. 爬回来的网页是怎么存储的
2. 异步io,能不能分配很多socket,系统影响建立socket数目的因素
3. 问了线程并发同步的问题,结合我说的项目过程问怎么改进
4. 如果不是小项目,是大量的网页需要拉下来,怎么改进成分布式的
5. 问了简历提到的trie树结构用法,怎么改进
6. c++ 模板和多态的关系
一道写代码的题:
一个数组A:里面的元素是一个范围,指定开始、结束数值,比如{[1, 5), [5, 10),[10, 16), .... [1000, 1002]}
一个范围B:[100, 110]
写一个算法找到上面数组中跟B相交的所有A中的元素的列表;

比如
A = {[1 10), [10, 20), [20, 30), [30, 50)}
B = [15, 31)
那么返回
{1, 2, 3} 因为跟1、2、3三个范围都有交集

1、问我想做啥?
2、问项目,讲了netty,然后问了异步IO,nio,oio,channel,buffer(这个时候不小心提了tcp滑动窗口对比),selector。balabala.....(跪了,怎么能挖那么深呢...)
3、然后就开始TCP了。滑动窗口干嘛的,然后慢启动,然后路由啥的。balabala。。然后开始四次挥手,以及状态机变化,为什么time_wait要有两个超时间隔。
4、然后开始项目了,双重锁和synchronized区别,然后SIP是干嘛的,跑去问了一会http消息格式。问SIP怎么处理的。
5、有啥问题。
好几个人的不同版本,具体的还是跟你简历里写的有关系