阿里云 二面

阿里云这回二面好顶,问了几个平时没咋想过的问题,特此记录一下
面试时间: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

总结:有点汗流浃背了,感觉是目前遇到的最难的面试。没什么死板的八股,面试官从的回答中拓展很多点出来考,不过感觉基本接住了,希望阿里云高抬贵手
全部评论
我靠好难啊 真牛呀
1
送花
回复
分享
发布于 04-29 18:37 河南
太牛了,大佬
点赞
送花
回复
分享
发布于 04-29 17:49 四川
滴滴
校招火热招聘中
官网直投
别真进了😭
点赞
送花
回复
分享
发布于 04-29 18:07 北京
第六题Linux内核里就用到了这种思想,大概就是用函数指针,比如vfs里的read write操作指向具体文件系统的read write操作
点赞
送花
回复
分享
发布于 04-30 11:04 湖北
阿里✌🏻,oppo✌🏻,华为✌🏻,中兴✌🏻,intel✌🏻,dolphin ✌🏻,带我走吧😭😭
点赞
送花
回复
分享
发布于 04-30 13:12 四川
c语言实现面向对象 主要是结构体(封装)结构体嵌套(继承) 函数指针(多态)
点赞
送花
回复
分享
发布于 05-02 12:55 上海
阿里云什么部门呀
点赞
送花
回复
分享
发布于 05-08 13:17 四川
难鼠了
点赞
送花
回复
分享
发布于 05-14 20:32 广东
vector快主要是因为空间局部性,因为顺序存,所以cache命中率更高
点赞
送花
回复
分享
发布于 05-15 12:38 广东

相关推荐

8 24 评论
分享
牛客网
牛客企业服务