阿里云这回二面好顶,问了几个平时没咋想过的问题,特此记录一下面试时间:40min 八股和讨论+15 min 左右算法面试内容:1. 自我介绍2. TCP 全链接与半链接端口扫描,怎么用原始套接字实现的,原始套接字怎么完成三次握手的(拷打我的端口扫描器项目)3. 你熟悉哪些语言,讲一讲主要特点和优势,哪些场景适合用哪种语言开发4. 你提到 Python,为什么 Python 的深度学习库的运算速度这么快,他的底层是怎么做优化的5. Python 作为解释性语言效率不高,那有没有提高他效率的办法让他逼近 C 语言的效率(开放题)6. 能用 C 语言实现面向对象的编程模式吗,如果可以你要怎么实现(开放题,这里聊了很久,都扯到实现虚函数表了,我记得在网上看人讨论过,求一个大佬解惑😂)7. 你能介绍一下 stl 库中常用的容器吗,他们的底层实现是怎样的8. 你提到红黑树,介绍一下红黑树的特性吧9. 红黑树怎样保证他查找的时间复杂度10. 对比一下 vector 和 list,说明一下各自的优势与适用场景11. 如果我有一段数据,可以确定他的大致大小,如果这是个顺序数据,你准备采用什么样的数据结构存储12. 接上题,在存储空间敏感和时间敏感的情形下,你要采用什么样的数据结构,为什么13. list 和 vector,如果都顺序访问,哪一个的访问速度最快,为什么(这个没答出来,我觉得 vector 会比 list 快,因为他的取址只需对地址加减,list 要赋值,寄存器加减似乎比赋值快些。不太懂,求个大佬解惑😂)14. 再接上题,如果我有很多个进程申请了远大于物理内存的空间,操作系统怎么做15. 常见的虚拟地址管理方法有哪些16. 介绍一下进程与线程,两者有什么差别17. 进程与线程怎么管理的,涉及哪些数据结构18. 讲讲常见进程调度算法,分析一下各个方法的优缺点19. 出算法题之前出了个代码改错,大致是:在一个多线程访问的临界区内,先查找 map 中的 key 值,再更改 map 一个固定的键值对,加锁操作只保护更改操作,问这样加锁有哪些问题20. 算法题 lc 390总结:有点汗流浃背了,感觉是目前遇到的最难的面试。没什么死板的八股,面试官从的回答中拓展很多点出来考,不过感觉基本接住了,希望阿里云高抬贵手
点赞 16
评论 10
全部评论

相关推荐

在笔试的大西瓜很矫健:校招数分不用想了,这经历和学历都不够用,大厂更别想,初筛都过不了,说点不好听的小厂数分都进不去(小厂也是假数分),要两个对口实习+3个项目(或者3+2),而且要有含金量才能补一点你的学历劣势。 建议刷实习,社招找数分,校招看运气,能入行业就行,可以运营转数分
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务