一面
先手写循环队列
以入队为例,讲一下可能发生的并发问题,我只讲了俩
自我介绍
开始吟唱mongodb,家家问,答的内容和面字节答得差不多
然后就结束了...
二面
自我介绍
es排序原理
es分页原理
给一个查询,这个查询在es里如何执行(倒排索引原理)
从磁盘开始,讲讲计算机存储结构。这里把高速缓存的分类再详细介绍了一下,面试官看起来比较满意
再接着讲讲分别怎么使用这些硬件提升数据读写的效率,大概就是讲讲如何编程来利用内存和高速缓存
给了俩数组循环的case,讲一讲哪个会更快,为什么呢
怎么做来实现异步调用RPC,大概描述一下。
你对异步的理解是什么?上一个问题讲的是用户级异步io,顺便再介绍了一下内核级异步io和io_uring
io读入的数据在用户态还是内核态?奇怪的问题,反正大概是想问我零拷贝相关的东西,依次吟唱普通io、mmap、sendfile、sg-dma
手写链表快速排序。离谱啊!就随便写了写,面试官说虽然细节有很多问题,但是大致思路没错
现在很多框架的执行方式是DAG,你了解吗?我只知道DAG是啥,但是不明白在指什么
接着问spark和tensorflow了解吗?我说只知道是大数据和ai用的框架,没具体用过,也就对hadoop比较有了解
能介绍一下hadoop吗?吟唱hdfs的namenode、datanode、读写流程,yarn的resourcemanager、nodemanager,怎么用他们来完成mapreduce
你对pdd怎么看?薪资和工作时长怎么权衡?