腾讯 小米 内核开发
被狠狠的拷打了。果然专业的事情需要专业的人来做
腾讯云 一面
- 聊了实习。性能瓶颈定位和问题排查具体怎么做的。
- 在大型复杂系统中,代码量非常大,怎么排查性能瓶颈或故障
- 怎么实现用户态线程
- 针对RISC-V指令集,你写的OS上有哪些针对性的代码或者模块
- Linux下,有哪些与用户态交互的系统调用可以向OS申请内存
- Brk和mmap的区别
- Mmap具体怎么做的?用户申请的内存是否会立即分配
- lazy allocation怎么实现的
- Lazy allocation是否会接入Glibc的malloc,怎么做的
- 时钟中断是怎么做的?时钟中断是否会阻塞当前进程
- Tcp为什么要进行三次握手
- 在高带宽和大数据量场景下,Tcp可能出现序号回绕,tcp是怎么解决的
- 两个进程通信发tcp流,但是流突然崩溃了,但是它有起来再次使用同一个端口通信,怎么保证不串扰(这个问题问的很模糊,记录的不准确)
- 实现获取空闲内存和运行中的进程数量的系统调用怎么做的?(应该是想问多线程环境下怎么加锁)
- Linux下,open一个文件返回的是什么?进程怎么通过这个fd读写数据
- 内核维护的文件描述列表怎么用这个fd做索引,这个fd的数据结构是什么,叫什么
- Linux下怎么查看磁盘io带宽
反问:是云下哪一个部门——云一
小米二面
- 先聊了腾讯的实习,然后问另一段实习
- 线程绑定CPU核心怎么优化上层调度时延的,会不会造成负载不均衡,怎么考虑的
- 哪些CPU Cache是核心公用的,哪些不是
- Linux的CFS调度器怎么体现公平
- 虚拟时间怎么计算的
- 优先级怎么计算的,了解过PELT算法吗?
- 调度的时候怎么确定线程
- 抢占式内核和非抢占式内核
- 调度的时机都有哪些
- Linux的伙伴系统
- 怎么理解的虚拟内存和物理内存
- 怎么进行地址转换的,TLB里面存储的是什么
- 页表里面存储的是虚拟地址还是物理地址
- mmap的原理
- 哪些情况可以产生缺页异常
- COW机制怎么实现的
- Linux的内存管理了解哪些,讲一下malloc和mmap的联系
- kmalloc和vmalloc用的什么(没有细问slab)
反问:
终端的内核侧重点,发展方向
#凉经##腾讯##小米#