拼多多服务端开发一二三面面经(拼越计划)
一面 8.8 1h
- 自我介绍
- 实习经历的各种细节
- RPC 的整个调用过程
- 服务发现一般可以怎么做
- InnoDB 引擎的特性
- MySQL 数据库支持高并发的读写,设计上有哪些可以用的方案?
- 了解哪些缓存淘汰策略?
- LRU-K 和 LRU 的区别
- go 的 defer 机制
- go 的 map 是有序还是无序?为什么?
- GET、POST 区别
- HTTP 是无状态的,如何做到有状态?(cookie session)
- HTTPS 过程
算法题:
- LRU
- LeetCode 62 不同路径:可以用递归或者 dp 实现,但实际上是
这两个算法题比较高频,在多家公司的面试中都被问过。
二面 8.20 1h
- 自我介绍
- 实习经历的各种细节(30 mins)
- TCP 四次挥手
- 如果客户端发了 FIN 包过去,但是服务端一直不回包会怎样?(超时重传)
- 如果客户端发了 FIN 包过去,服务端一直不回包,在客户端是一个什么样的状态?(这道题不会。我答 FIN_WAIT_1,面试官说映射到操作系统是什么状态?我答阻塞,面试官说也不是,问 netstat 会显示什么?)
- 丢包重传的影响(重新慢启动,threshold 减半;滑动窗口变小)
- Go 如何排障?
- 二叉树的中序遍历
三面 9.1 1h
- 之前实习经历的区别和感受
- 实习经历的细节
- 实习期间使用的中间件
- 你觉得之前工作中的服务,还可以怎么优化?(代码、架构、稳定性、流程)
- 有没有对比过不同 RPC 框架的优缺点
- 平时有没有登到机器上去看日志
- Golang 和 C++ 的区别(高频)
- Golang 的内存回收机制
- 协程和线程的区别
- 有没有压测过 golang 的性能?比如协程数量到多少的时候 CPU 使用率会不稳定?
- 做过哪些觉得很厉害的事,参加过的比赛?
- 实习期间的一些收获
- 如何阅读大型项目的源码?
- 有没有读过一些很惊艳的代码?
- 你觉得自己有哪些不足?之后准备如何提升?
- 你一定在面试很多公司,你如何看待拼多多的机会?
- 未来三年的规划