快手提前批一面 (8.1)
自我介绍,讲了自己基本情况和做了啥项目
提问,主要根据简历
- PCA降维的原理和怎么做的 太久没碰了,讲了讲矩阵分解和对角化 2. Attention是啥~,随便扯了扯
- 怎么理解高性能,QPS是多少
- 非活动连接,定时器怎么实现的,最小堆和升序链表 (会不会修改,有点忘了,应该是会改的,我记得有umap, 就说了)
- 异步log,和同步,区别,几个log线程,生产者消费者用什么实现了,Condition_variable实现会不会notify太u多了 这里不太记得了,貌似应该没用生产者模型,和线程池记混了有点,只是用了锁,但是我讲了下可以log线程定时刷盘~
- 缓冲池用来干什么的,怎么实现的
- 实现的哈希表的作用,怎么判断页面在不在缓冲池里,B+树在项目里的用途,每次修改都要刷到磁盘吗[]
- 解决死锁的wound-wait算法的原理, 死锁的条件(脑抽了,只说出了三个), 这里扩展了问哪些情况会死锁,讲了几个, 还有可重入锁(读写锁)
- GDB 怎么看值(答p 格式 地址)追问格式是啥比如讲的x,是什么意思
- 问实习里用的一个东西怎么去重的,联通图是怎么做的,会不会在联通快里但是两者相似度小于阈值
- 做题,螺旋打印数组,两年没做题了,有点垃圾,写了点bug,调了一会,反正是自己的数据应该是过了(造一组一个bug属实有点寄。)
- 问对kafaka,rpc了解吗(简历没写,痛苦), 说没怎么用过,最近在学brpc和grpc,问怎么学的(看文档,+知乎)
- 反问,部门业务(不做业务,中间件和架构)有啥不足吗(说挺好的? 但是题做的很慢,不清楚了) ,流程(简单讲了下) 还是得坚持刷题,手生了擦, 总共一个小时,希望能过,许愿二面