字节 客户端(国际化)一面
操作系统:
- 进程线程区别
- 你提到了虚拟内存,讲一下为什么需要虚拟内存?你主要提的是安全对吧?
- 两个进程,那么分配6G(用户空间),那总内存4G,怎么办呢?
- 你提到了换入,换出,那怎么决定哪些被换出呢?
- 死锁的条件
- 如何检测死锁?(谈了代码层面检测,谈了gdb看调用栈),除了这种方式呢?运行时如何检测?
网络:
- http和https区别
- https的握手过程
- 你提到了CA,那么客户端如何验证服务端的CA呢?
- 你提到的TLS握手过程,那这个过程可以有哪些攻击方式?
- 如何解决你提到的中间人攻击?
C++:
- 讲一下所有的智能指针
- shared_ptr和unique_ptr可以相互转换吗
- 讲一下虚函数和纯虚函数
- 如果一个子类继承了抽象类,且他没有重写纯虚函数,会怎么样?
那这种情况他是编译时报错吗,还是运行时出错?
数据结构:
- 哈希表中,如何解决哈希冲突
- 你提到的拉链法和线性探测分别适用于什么场景?
- 你提到的拉链法如何优化?
- C++的hashmap和hashset是如何在你提到的线性探测和拉链上做的优化?
智力题:
- 64匹马,8个一组,可以知道名次,但不知道时间,最少多少次比赛可以找出前8名
算法:
- 验证对称二叉树。