b站-深度学习平台实习面经(已OC)
经历了两轮技术面,基本都在一个小时左右,整体回答的比较流畅,二面完两个小时后 HR 来电话 OC 了。一面和二面的问题有大部分重复,所以这里只给出二面的问题,覆盖面也很全。
C++
(1) STL 容器中 vector 的底层实现
(2) 有哪些优化 vector 性能的方法(扩容开销太大)
(3) 介绍一下 shared_ptr 和 weak_ptr
(4) 为什么要设置一个 weak_ptr(又不经常使用)
操作系统 / 网络编程
(1)介绍一下进程、线程、协程
(2) 如果进程的某个线程退出,进程会退出吗(要分类讨论)
(3) 多进程 / 多线程之间的通信方式
(4) C++ 中如何创建一个互斥量,具体语句是什么
(5) 介绍一下 I/O 多路复用
(6) 为什么要有多路复用,意义是什么
(7) 介绍一下 select / poll / epoll
(8) select 方法的局限性
(9) epoll 为什么更好用
计算机网络
(1) TCP 和 UDP 的区别和用途
(2) 介绍一下 TCP 四次挥手及其中有哪些状态
(3) TIME_WAIT 状态会持续多长时间
(4) 如果出现大量 TIME_WAIT 状态是什么原因造成的,如何解决
(5) 说一下 HTTPS 为什么更安全
其他
(1) 消息队列和共享内存了解吗(增加实践)
(2) Redis 用过吗(将近一半的面试官都会问)
(3) 自己遇到过死锁的情况么(增加实践)
MySQL
(1) 索引类型有哪些
(2) MySQL 索引底层是如何实现
算法题
(1) 验证 IP 地址(No. 468)
个人拓展
(1) 介绍一下 emplace_back 和 push_back 的区别
(2) 什么是移动语义 std::move
(3) std::array 和 vector 的区别
(4) 僵尸进程和孤儿进程是如何产生的
(5) Linux 中怎样处理僵尸进程和孤儿进程
P.S. 以上内容是楼主基于上述问题延伸出来的潜在面试题目,大家可以选择性浏览。
实习感悟
三月末已经入职小破站了,我们组氛围还是蛮不错的,工作内容也很喜欢,不卷,真的推荐!
#我的实习求职记录#