2022届招聘陆续结束,这里整理了这段时间以来所遇到的Golang后端岗的面试题,主要目标为行业独角兽。

请注意,本处所有所示面试题均不暗示任何特定公司的特定岗位。
通常来说,本文主要面向于初级岗位或应届生岗位为主。

  1. 网络
    1.1 TIME_WAIT
    1.2 常见TCP攻击方法:半开连接、攻击防范
    1.3 简历上所述的DrDOS,具体怎么做防范的
    1.4 常见的协议运行的端口
    1.5 HTTP 1.0、1.1、2.0区别
    1.6 HTTP1.0的协议报文形式
    1.7 TCP和UDP区别
    1.8 UDP实现TCP方法
    1.9 OSI 7层模型,每一层都有什么代表协议?
    1.10 HTTP方法(POST、GET、DELETE),这里嘴贱说了一手RestFul,所以详细问了RestFul。
    1.11 接1.10,HTTP方法的幂等性问题
    1.12 HTTPs的过程
  2. 常见IO模型
    2.1 多路复用有哪几种。具体谈谈,怎么实现。
  3. 数据库
    3.1 MYSQL常见索引
    3.2 BTREE和B+TREE的区别,对应的时间复杂度
    3.3 Delete和Trancate区别
    3.4 索引一般建立的原则
    3.5 接3.4 嘴贱说了一句全文搜索,讲了讲全文搜素方面的设计思路。
  4. 进程间通信
    4.1 方式
    4.2 管道方式分为:匿名、命名,具体谈谈区别。
  5. Golang
    5.1 对于GoRoutine的调度理解(GMP)。
    5.2 对于Golang程序的调试,性能排查的经历。
    5.3 内存模型的理解
    5.4 Slice和Array的区别,Slice扩容机制(注意1.18以后新的扩容机制)。
    5.5 引用类型有哪些,和值类型的区别。谈谈引用类型的引用二字的理解。
    5.6 写一个函数,不断执行,超时OR额外信号时自动结束。
    5.7 对于Channel的操作,已关闭写入,已关闭读取,已满读取,已满写入。
  6. 其他
    6.1 怎么理解云原生
    6.2 推理题(暂不展开)
    6.3 K8s、K3s、Docker一些内部机制问题(具体知识点记不太清)
  7. 算法
    7.1 LeetCode 184 - 部门工资最高的员工
    7.2 LeetCode 177 - 第N高的薪水
    7.3 翻转链表
    7.4 快排算法
    7.5 数论:0和5组合成最大的能被9整除的数(百度2021届改题)
    7.6 更多算法类不再展开。
  8. 简历项目 暂不展开。

写在后面

有朋友来问我简历项目里面写了哪些东西,很不巧,我的项目很偏门,边缘计算、游戏服务端、高性能数据转发(军工)还有的就是很简单的OA系统之类的内容,但凑巧有几个面试官对项目感兴趣,也交流了非常多的内容,一些设计想法。
项目设计这块是没有银弹的,这方面,契合更重要。本科生的项目嘛,写点自己感兴趣的才会记得更牢、理解地更深入。