- 数据结构与算法
- Go 基础
- Go 常用结构原理
- 缓存(Redis为主)
- 消息队列(Kafka、RabbitMQ、RocketMQ)
- 数据库(MySQL)
- 搜索(ES)
- 分布式理论(CAP、BASE)
- 分布式锁
- 分布式事务
- 分布式幂等框架&源码相关:Spring、MyBatis、SpringBoot、SpringCloud、RPC(如:Dubbo)、Netty等常⽤框架
- 微服务架构(架构演进过程)
- 微服务拆分原则
- 容器化(了解Docker & Kubernetes)
- 项⽬整体架构(能画出来)
- 项⽬上下游关系(能将明⽩)
- 项⽬实现细节
- 项⽬主要亮点
你有什么要问我的吗?、离职原因?、职业规划?项⽬管理?⾃身优缺点?挫败感的事⼉?⾃身哪些需要提⾼的?绩效怎么样?突出贡献?
这些技能要想深⼊不是短时间内突击就能完成的,需要⻓期做项⽬加上平时的有⽬的性的学习和积累。技术栈⽐较多,我个⼈建议在⾯试前提前准备阶段,通过思维导图的⽅式梳理,对抗遗忘曲线,推荐使⽤ProcessOn⼯具。
上⾯尽管罗列了很多技术栈,但是要尽量做到⼏个技术栈能更擅⻓⼀些,⽐如对 调优、并发、分布式等技术都有深⼊实践和研究,或者对某些框架源码深⼊研究,并做过⼆次开发之类的,都是有加分的。
因为⼤家不可能都是样样精通的,也最好别都样样稀松,所以关键夯实住⾃⼰擅⻓的,然后其他技术栈查缺补漏。
同时,在⾯试中开始⾃我介绍后,建议你要有意识的说出你擅⻓的领域、技术栈等。其⽬的也很简单,就是将⾯试官的思路往⾃⼰擅⻓的⽅向引导。不然呢,当⾃我介绍结束之后,⾯试官基本就按照他的套路出牌了,或许你此时会有点被动的~
但是,有的⾯试官也不吃这⼀套,那你就准备应战就好了。某些技术你简历写了,⾯试官正好问到了,但是其实你并不是很擅⻓,或者时间久没有了解的很深⼊,如果追着问,就有点尴尬了?
⼀般⾯试官都是结合你简历问的,很少⾯试官是只问他会的东东,如果真遇到这样的,也是有点尴尬,不⾯也罢!
最后也提醒各位要换⼯作的⼩伙伴,⼤家加油!
- 社招算法:算法虽然在社招里面占据的比重不大(大概10%),但作为基础,也是要准备的。我这次也不是很充分,算法还在平时的积累和练习。
- 思维导图:平时尽量画⼀画思维导图(processon),对抗技术知识的遗忘曲线。
- 技术应⽤:这个是重点,将学到的技术应⽤到项⽬⾥,使你的项⽬看上去更有亮点,更有聊的价值。
- 临场应变:有些题⽬会发散,要提⾼临场随机应变的能⼒
- 技术积累:基础和经验相结合
举个例⼦:有⼀家 C 轮公司的⾯试官⽼哥,很直接的说我仅出两道题,剩下你来问我:
题⽬1: 输⼊⼀个⽹址⽐如 jd.com 到底发⽣了什么?请你讲的越详细越好 题⽬2: 后端服务如何做性能优化的?讲的越详细越好。
惊不惊喜意不意外啊。。。
第⼀个题⽬可以考察:⽹络、CDN、DNS解析、TCP 三次握⼿/四次挥⼿、Http协议。 第⼆个题⽬可以考察:DB、SQL(索引)、缓存、Go server等性能优化等等?
说是两个问题可以扩展出很多个问题,所以要回答的全⾯且到位,也不是那么容易的对吧。当你提到某个技术优化的时候他会详细追问如何做的,这哪是两个问题啊。这家公司也是⾯过了的,也具备⼀定的发展潜⼒,个⼈也是⾮常看好的。