Golang服务端面经

一、投简历

内推 > 猎头 > Boss直聘、脉脉 > 其他app(拉勾等)
如果是内推就是帮忙递简历,和自己投没啥区别,注意会不会有锁定期。

二、准备一些场景问题

1、自我介绍
2、有什么问题需要问面试官的
3、你遇到过最难/挑战性的事情是什么?

三、技术问题分为四类

1、QA类

基础问题,背就知道了

2、底层实现原理(还好,八股,需要理解下)

go runtime 锁 chan 协程 singleflight gc(实现) main goroutine运行
中间件数据/防止丢失
b+树/skiplist怎么插入数据
mq/redis怎么做一致性?
数据库mvcc 各种锁
磁盘IO 非阻塞IO 磁盘io和网络io区别
mq延时队列,数据是怎么存储?
consul注册
微服务一致性算法(Paxos Raft)

3、数据结构+算法 (刷题)

算法要从计算的角度去考虑问题,需要关注边界问题,完成有限例子的验证。
没有什么完美算法,要么是用空间换时间,要么时间换空间,所以需要关心下复杂度这回事。

各种排序
二叉树 中序 z遍历

动态规划
手写线程池 手写hash表

4、开放类(终面+解决问题能力)

主要是澄清式回答,为什么是?
小公司:业务架构/设计
常见概念的深入理解:二分法/二进制 / 文件中数字定位 / 寻址过程
选型:为啥用mq?为啥用consul?为啥用集群?

四、职业发展路径(HR喜欢问)

Golang服务端面经

五、提现

1、多关注技术使用的时候会出现什么坑,知道有什么坑才敢用。

六、总结

面试是一种费曼学习法,因为需要讲出来,自己不理解的话,是没有办法让别人理解的,需要逼着自己搞懂。
面试官还是变着法地考察你,多用心。

谢谢一路上帮忙的朋友 >_<

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!