【阿里巴巴】C++岗-阿里云偏底层研发

一面

项目
编程:反转单向链表
malloc和new的区别,free和delete。new一定会用到malloc吗?重载operator new
内存泄漏,最后会怎么样?会对其他程序造成什么影响
水平触发和边缘触发,边缘触发怎么写
野指针的产生,危害,段错误怎么发生的?使用悬空指针一定会段错误吗?什么时候会,什么时候不会
多线程单线程区别,多线程一定比单线程快吗?
学过汇编吗?
编译和链接了解吗?
服务器程序阻塞IO怎么设计?知道早期Apache怎么做的吗?
TCP UDP区别,介绍一下拥塞控制,丢包时为什么阈值会减半

二面

二面全程针对项目问了一通,连接分发还有其他的方式吗?
使用互斥锁和读写mysql会造成上下文切换吗?
为什么不用无锁设计?
建立连接还有其他的方式吗?
了解nginx和apache的实现吗?
(这个一面问了,可是后面还是没看,结果还是没答上来)读过什么开源的代码吗?感觉面试官没有找到技术的共同话题,然后就结束了。

三面

介绍科研经历
介绍项目,一个一个的说
多线程程序内存布局
线程栈的大小,能调整吗?代码中怎么调整?
花生壳内网穿透原理
ARP协议介绍,ARP表建立的过程
TCP已经有了保活为什么还要有心跳包
纳格算法
虚拟化了解吗
汇编了解吗
未来的职业规划

感受
从问的问题来看,感觉是个偏底层的岗位,问了几次会汇编和虚拟化吗?因为不会所以感觉可能技术栈不太符合,最后也是被回绝了。

发表评论

后才能评论