暑期实习面经

菜鸟面经T.T

阿里云开放平台
一面2.28:

  1. 实习、项目介绍
  2. 最有挑战的项目?难点、怎么解决的?
  3. 内存泄漏(检测工具valgrind/钩子函数、相关命令)
  4. 编程层面如何预防内存泄漏,除了智能指针?
  5. linux网络编程和tcp连接对应关系
  6. 三次握手四次挥手,timewait、closewait
  7. leveldb原理(memtable/immemtable/sstable/log/manifast/footer)
  8. vector底层实现、动态扩容
  9. 竞态、临界区、举例
  10. ptmalloc底层实现
  11. tcmalloc、jemalloc底层实现,和ptmalloc对比
  12. 伙伴系统、slab分配器、STL二级配置器(内存池)
  13. 最有成就感的项目/经历
    算法题:之字形打印二叉树

笔试3.14

二面3.16:

  1. 实习、项目挖10分钟
  2. NUMA/UMA
  3. 内核自旋锁底层实现?while和自旋锁的区别?
  4. 内存屏障
  5. 多文件全局变量的初始化顺序?例如a.cc有int a = 10, b.cc有int b = a, c.cc有int c = b;问main函数中a,b,c的值是什么(随机值还是10还是0?)
  6. x86架构模型
  7. x86和arm在内存架构上的不同
    算法:利用malloc和free实现自己的my_malloc和my_free,使之可以基于N字节对齐。

hr面3.18:
聊天+谈职业规划
3.21意向

阿里云块存储
一面2.26:
算法题:字符串转整数、公共子树

  1. 介绍项目、实习
  2. leveldb原理
  3. 死锁及解决
  4. 如何检测系统瓶颈(cpu、磁盘、网络、内存)
  5. unordered_map底层原理,扩容机制
  6. struct和class的区别
  7. 多线程和多进程各自的优缺点
  8. 最近在关注的技术(HTTP3.0)
  9. http3.0 为什么用udp
  10. 3.0实现细节、TLS3.0
  11. 反问

二面3.1

  1. 介绍
  2. linux文件系统
  3. 零拷贝
  4. c++文件编码执行整个过程20min(涉及 键盘io、中断、显示器、elf文件、编译、链接、加载、执行、物理内存、虚拟内存、进程管理等等细节)
  5. linux cfs进程调度底层原理
  6. 磁盘缓存、布局
  7. linux io细节
    算法题:组合总和

3.2通知二面过 但已选择其他部门 放弃后续面试

腾讯wxg3.17

  1. 代码:回文串、c++单例模式:懒汉、线程安全模式、最大字符串
  2. 函数返回临时对象的问题
  3. sizeof为0
  4. 移动构造使用场景
  5. new时内存不够,修改abort()报错要怎么做,(operator new修改回调函数)
  6. 协程项目深挖(15min)
  7. 协程堆上内存不够了会发生什么
  8. 协程堆内存不够,申请两倍空间,拷贝过去会有什么问题
  9. 第三方库调你的协程库需要怎么做?
  10. 协程池必要吗?和面试官产生分歧。
  11. 内核函数read、write在哪个链接器里??不知道想要问啥。
  12. 内核自旋锁实现
  13. 反问
    3.19 挂

字节基架
一面:

  1. 介绍
  2. leveldb深挖(原理,读写,存储,多key查询,压缩,合并,数据结构)
  3. mysql深挖(acid,事务,隔离级别,redo,undo,mvcc,readview,多线程缓存)
  4. B树、B+树,节点分裂
  5. osi七层
  6. 虚拟内存
  7. 进程和线程
  8. 进程间通信
  9. 页表
  10. k8s(apiserver,etcd,node,kubelet)
  11. docker原理
    算法题:二叉查找树第k小元素非递归实现(没写出来)

总结:问的都是不擅长的数据库,擅长的操作系统和网络问的都是八股,算法题拉了,思路对的但是做了40分钟没写出来,应该是凉透了。
更新:二十分钟后询问hr 一面过
os:算法题没做出来过了?

二面:

  1. 介绍
  2. 操作系统深挖
  3. 内存管理、虚拟内存
  4. 内核自旋锁原理,读写锁
  5. NUMA、MESI
  6. 对计算机网络的理解
  7. 反问
    算法:
    面试官:一面算法下来写过了吗?答写了。
    面试官:不能用辅助数据结构、空间复杂度O(1)。楼主心态爆炸,这里写了20min没写出来。
    面试官放水:写下memcpy和strcpy?楼主已经懵逼,忘记怎么写的了,卒。
    面试后了解到面试官应该想要实现Morris遍历。

总结:算法未准备充分,字节面试还得好好刷算法。秋招再战!