/go-interview-resume

Golang后端研发岗位相关面试题和简历,包括Golang、计算机网络、操作系统、MySQL、Redis、系统设计等

go-interview-resume

这是本人整理的一些与Golang后端研发岗位相关的面试笔记,欢迎大家及时补充

当然并不局限于Golang研发岗位,笔记中还包括计算机网络、操作系统、MySQL、Redis、系统设计等八股文,其他语言岗位的也可以阅读

简历

一些建议:

简介明了:保持简历简洁明了,使用清晰的布局和格式,使得信息易于阅读。限制简历长度在一页或两页之内,但必须包含基本的个人信息,比如年龄、性别、电话、邮件以及教育经历

突出重点:

  • 项目经验:如果有相关的项目经验,可以列出项目的名称、时间、描述和您在项目中承担的角色和职责,最好别是那些烂大街的项目(点名某外卖、某论坛等),如果实在没有,可以参考我个人做的分布式定时任务管理平台Crony ,建议看看源码,不是很难,至于怎么在简历中写,可以参考程序员推荐简历,简介明了 ,还有怎么在面试过程中介绍这个项目可以参考项目经历介绍.md
  • 实习经历:现在应届生如果没有实习经历真不好找工作了,建议大二或大三的时候找一份实习工作

面试

整理的一些面试八股文,答案不一定准确,如果感觉不准确的可以自行在网上查找验证

其中❤表示重点

  • Go语言

    Golang面试题,包括Go语言的基础语法垃圾回收内存管理GMP模型以及常见数据结构(channel、map、select...)的底层原理等

    推荐阅读地鼠文档, 可以在里面找到许多与go语言相关的文档

    比如Go专家编程Go语言标准库 等都值得阅读

  • 代码编程

    面试过程中面试官可能要求实现的一些代码编程

    比如:

    • 两个协程交替打印10个字母和数字

    • 启动 2个groutine 2秒后取消, 第一个协程1秒执行完,第二个协程3秒执行完

      ...

  • 常见算法和模板

    一些常见算法的模板,比如KMP、LRU算法、二分法、回溯法、分治法、滑动窗口

    推荐阅读algorithm-pattern ,是基于Go语言的,阅读此文档可以解决面试中绝大部分算法题

  • MySQL

    MySQL的一些面试题,包括:

    • 存储引擎

    • 索引及其优化

    • 事务(MVCC)和锁

    • 分库分表和主从复制

      ...

  • Redis

    Redis面试题

    包括基本的数据类型、过期键的处理策略、持久化、集群、主从和哨兵

  • 计算机网络

    计算机网络相关面试题

    比如网络协议、TCP三次握手、四次挥手、http和https

  • 操作系统

    操作系统面试题

    比如线程、进程以及它们之间如何通信的、多路IO复用、内存

  • 海量数据高频面试题

    在海量数据场景下的一些面试题,比如:

    • 寻找热门查询,300万个查询字符串中统计最热门的10个

    • 在2.5亿个整数中找出不重复的整数,内存空间不足以容纳这2.5亿个整数

    • 在5亿个int找它们的中位数

      ...

  • 微服务

    微服务场景下的面试题,比如服务治理、熔断和降级等

  • 系统设计

    在某些特定场景下设计的面试题,比如:

    • 分布式ID生成器

    • 短网址系统

    • 定时任务调度器

      ...

  • 架构设计

    与架构设计相关的面试题,比如:

    • 为什么要做多级缓存

    • MQ中间件是如何实现消息可靠性投递的

      ...

    还在更新中...

说明

本项目主要以简单问答的形式介绍面试八股文,如果想深入了解计算机网络、操作系统、数据库等,强烈推荐阅读小林coding (xiaolincoding.com)

面试问题和答案大部分来自于网络,包括:

答案不一定准确,欢迎大家提issues或者pull requests进行补充