23正式批快手---C++一二面凉经(已挂)
8.8一面
35分钟八股10分钟项目10分钟代码
- 冯诺依曼结构,计算机组成硬件
- 不同层次的存储器的优缺点
- 当键盘输入字符,CPU怎么感知,怎么和输入设备交互
- 操作系统起什么作用,为什么要有操作系统
- 进程线程区别,进程里面的资源包含哪些,协程了解吗
- 进程从创建开始到退出的流程状态
- 两个线程对同一个int进行++操作,有哪几种情况,保证正确性用什么机制
- 互斥锁和读写锁的区别,针对7如果用读写锁怎么操作
- 为什么实际物理内存很小但是能跑很多程序,运行时发现某个页面不在内存有什么机制,常见的页面调度算法
- C++写完代码后到最终跑起来中间的步骤,链接主要作用,链接时没错误运行时错了是哪种链接
- TCP/IP有几层,每层作用,应用层常用协议
- 读URL的过程
- HTTPS的加密原理,对称/非对称加密的优缺点,为什么要混合使用
- TCP怎么实现可靠性,什么是拥塞控制
- 数组和链表的区别,优缺点
- 设计一个数据结构满足O(1)查询,O(logn)插入删除,支持范围查询
- 哈希表出现哈希冲突的解决方法
- C++多态实现的底层原理,重写的实现机制
- 堆和栈的区别,C++提供什么机制让少去关注内存泄漏
- 智能指针的底层原理,对象复制很多份怎么知道什么时候释放
- 一个代码跑起来比较慢,问优化思路
- 事务特性,隔离级别,分别解决什么问题,mysql默认哪个,怎么解决幻读
- 项目
- 手撕:二分查找
8.15二面
30分钟八股项目 20分钟手撕 答的很烂应该过不了,太菜了
- C++11新特性,右值引用是什么意思,lambda表达式捕获变量有哪些形式
- 进程、线程和协程,线程切换代价更小体现在什么方面,具体切换了什么东西,缺页中断是在进程切换的时候就会发生吗(问懵了。。
- TCP三次握手过程,为什么两次不行,四次挥手过程,为什么握手三次挥手四次,为什么是2MSL
- 项目
- 手撕:二叉树转化为链表,自己写测试用例