题图:pixabay
转服务端一年半有余。主技术栈为golang,不知道自己技术水平在什么阶段,之前没有服务端的面试经验,正好有小伙伴讲说帮我内推试试。选了4家公司,某条、某手、一家C轮小厂、一家D轮小厂。
某条:
一面:
- 自己负责的项目、为什么那么做、技术选型有哪些取舍
- golang基础、Map原理、调度原理
- https通信原理、mq
- mysql索引、事务、幻读、MVCC
- 手写两道easy算法题
第一次服务端面试,算是摸摸套路。自我感觉答得还行,不过还是一轮游。事后托朋友问面试评价:
- golang基础还不错
- mysql部分还需加强
某手(java岗):
一面:
- 手写算法最长回文子串
- 负责的项目
- 设计一个网络客户端
- 没了
这个挂得有点尴尬。答得不好,有点没搞清楚面试官的问题重点。
某C轮:
一面:
- 负责的项目
- golang基础、Map原理、调度原理、Echo框架一些细节
- redis持久化、分布式锁
- mysql索引、redo log/binlog、mysql事务一致性
- 手写一道easy算法题
二面:
- 负责的项目
- 系统设计《短视频app、点赞功能热度排名啥的》
- mysql持久化
- redis sorted set
- 分两块内存,适当冗余
三面:
- 负责的项目
- 遇到的难点
- 为什么不用redis做mq?考察点:redis架构
某条挂了后恶补了mysql。数据库这块答得还行(学文科的背了再说)。二面在面试官引导下 基本答到面试官考察的点子上。一二面聊的比较愉快。负责的项目被三面面试官怼得一文不值,没有技术难度。总体还好。第二天来电hr面。
某D轮:
一面:
- golang基础
- mysql索引、间隙锁
- redis持久化、应用场景
- 线上大量time wait怎么解决?
二面:
- https通信原理
- redis string底层实现
- go为什么快?go垃圾回收、go逃逸分析、
- mq重复消费怎么做?怎么尽可能保证不丢消息?
- 一道easy算法题及其变种,分析复杂度。
三面:
- 负责的项目
- 前端负责的项目、做了哪些架构优化、...
- 前端知识
感觉一面面试官不太专业。二面面试官挺好,会有一种一起探讨的感觉。三面面试官说服务端的东西前两面都面过了,纯聊前端的东西。让我把两年前的项目拿出来说,忘得都差不多了。完事儿 当天晚上hr面。
总结:
- 拿到了后两家的offer。其中一家涨幅超30%了。最后考虑了下,两家都拒了。
- 不该第一次面试就拿某条试手。当时是想着先小公司面几个再去试试的。不赶趟儿
- 基础不够扎实。系统架构设计能力偏弱
- 成套的技术体系不够成熟
题外话:
今天看了公司11级大佬们主讲的 【工程序列职级解读】。。P7/ P8技术型工程师职级标准,包括专业能力、业务能力、软素质、负责方向上的规划和思考等等。审视自己,还有很多要学习和改进的地方。
新里程,新开始。
有疑问加站长微信联系(非本文作者)