面试点(go本身的理解 不会偏向一些经验性的)
- 调度模型
- 内存模型
- 并发模型
软实力
- 沟通 协作
- 面试官 不懂你的业务方向 你怎么能够表述清楚
- 语速慢一些 将一些细节描述清楚
- 务实
- 不要浮夸 不要吹 要内敛一些
- 讲一下 你是怎么思考的
- 执行力
- 关注
- 职业规划
- 未来的规划 方向 怎么深入
- 个人有自己的规划 最好不要什么都可以
- 讲清楚 先做什么 再做什么
- 视野
- 当下怎么思考 未来规划 要独立思考 对未来的想法
硬实力
- 活力
- 年轻的定义 要看心态
- 基础
- 计算机操作系统 网络 编程 中间件 工程
- 底子打的厚 做上层才会考虑的全面 少踩坑
- 需要长时间的积累
- 经验
- 做过的领域 有什么积累和理解?
- 可以快速积累的
- 思考
- 思考扩展性方向 没有完美的架构 怎么继续改进
面试官喜欢在哪些地方埋点
-
底层知识
- touble shooting的时候可能会有用
- 计算机操作系统 网络
-
缓存设计
- 28原则 读请求 写请求
- 缓存的设计 cache miss、穿透、热点
-
数据一致性
- 拆分成小服务 怎么保证数据一致性
-
自我认知
- 自己的缺点 要想清楚
-
晋升
- 改进 哪些做的好 哪些做得不好
- 为啥要从上家离职
- 尽量不要抱怨上家 最好从个人的规划入手 不符合当下的预期
GO工程师能力模型
-
计算机
- 体系的认知 基础知识、网络
- API设计 怎么利用中间件 解决架构设计问题
- 包管理 可复用的框架
-
工程化能力/架构
-
看了很多资料 直到怎么去实现了
-
需要去动手实践 反思 踩坑 不断迭代
-
参考类似业务形态的思考 改进自己的架构设计
-
听课 少走弯路 学习方法论
-
从案例去看
-
-
常用的数据结构 算法
-
不要炫技
-
动手能力 不要纠结一些语法糖
怎么切入?
- go 官方文档和库的源码 看部分的代码 不可能看全部 要做减法
- 优秀的中间件 库
- 按需索取 你认为关键的 采取学
- 基本功靠自己去联系的
建议
- 编码的时间占少数 大部分时间去考虑组件的设计 会出现什么问题 怎么解决
- 从全貌理解问题 模块的联动和写作 性能case的解决思路 不会带着大家编码
- 中间件 服务发现 cache 会讲解部分的原理
- 例如redis的工作模型 大的原理弄清楚 然后去细化末梢
- 告诉你为什么这么做 自己去翻阅源码 但是关键的实现 老师会将