在厦门的 Go 面试情况
前言
去年发生了一次工作上的变动,在此记录一下,希望有所进步。
这是在面试后,通过头脑复盘,记录在随简历一起携带的 A4 纸里,只能想起大概,供大家参考。
仅记录 QA 情况。
基本情况
2020 年本科软件工程毕业,有在校其它实习经验。
2020.04 至 2021.09 底的 GoLang 开发经验。
概览
在厦门参与了以下公司的面试(按照参与面试日期顺序 2021.10-2021.11):
腾讯科技
、熵基科技(中控科技)
、美柚科技
、青瓷游戏
、禅大师
、网宿科技
、4399游戏
、飞鱼科技
、星辰天合
腾讯科技
一面
远程面试。50 Min
- 自我介绍
- Go 协程如何实现
- Go 如何调度、调度的实现
- 哈希表设计
- 链表说明
- Go 反射
- Go 上下文 Context 实现
- Go Map 安全性
- MySQL 索引、联合索引
- MySQL B+树
- SSL 协议、Http/Https 区别、SSL 安全吗
- Websocket 协议
- Sellect/Epoll 机制
- ElasticSearch 使用场景
- 线上问题排查思路
- TCP 三次握手、四次挥手
- 握手了但不确认会有什么问题
- ID 生成算法
- RPC 框架对比
- 读读、读写、写写资源竞争
- 字符匹配的一些算法
- Go 协程阻塞
- GMP 中 P 的阻塞、引入 P 的作用
- Go Channel 的实现
- Go Channel 缓冲区别
熵基科技(原中控科技)
一面
主程和主管一起面。20 Min
- 自我介绍
- GoLang 反射
- AOP 面向切面
- 为什么使用 RabbitMQ
- 秒杀系统的库存控制、余额控制
- 并发控制
HR 面
- 简单了解
美柚科技
一面
远程面试,项目主管面。30 Min
- 自我介绍
- 主要使用技术栈
- Go 并发问题
- Go Channel 使用
- 其他语言与 Go 的区别
- Go Select 使用
- Go WatiGroup 使用
- Go 协程通信
- Redis 数据结构
- Redis 持久化方式、RDB/AOF 介绍
- MySQL 多表查询
- MySQL 回表
- MySQL 分库分表
- MySQL 聚簇索引
- 消息队列的设计
- 推模式、拉模式的区别
- 一些设计模式的问题
- Redis 数据不一致问题
- Redis 跳表
- 评论系统设计
- 点赞系统设计
二面
总监面。40 Min
- 自我介绍
- 排序算法
- 其它算法
- 设计模式
- 二叉树节点
- 用 Go 实现字典树
- Hash 的设计
- Redis 有哪些数据结构
- Redis Set 使用场景
- 并发请求设计
- 三次握手、四次挥手流程
- 为什么离职,小组有多少人
- ElasticSearch 为什么快
- 上家公司主要做了哪些
- Epoll Select 机制介绍
- MySQL 语句执行慢的原因有哪些
- 协程如何通信
- Curl 的生命周期
- Go WaitGroup 主要做了什么
- Redis List 使用场景
- Go 错误处理设计
- Go Interface 使用场景
青瓷游戏
一面
主管和人事一起面,40 Min
- MySQL 事务级别
- MySQL 语句优化
- MySQL 索引选择
- 匿名函数
- Redis 锁实现
- Redis 数据结构
- 离职原因
- Nginx 负载模式
- Make、New区别
禅大师
一面
主管和经理面。50 Min
- Redis 限流
- Redis 锁
- ElasticSearch 检索语句、查询过程、分片
- Kibana 的使用
- Redis Set 使用
- MySQL 索引使用
- 如何快速统计数据
- 微服务之间通信
- RabbitMQ 如何产生队列
- RabbitMQ 几种模式
- RabbitMQ 死信队列
- Go Slice 设计
- Go Map 设计
- Go 并发控制
- 哪些场景需要设计微服务
- Linux 使用情况
- Nginx 了解情况
- MySQL 隔离级别
- MySQL 隐式锁、表锁、行锁
- MySQL Explain 有哪些类型
- MySQL 执行慢的原因
二面
总监面 40 Min
- 小组如何写作
- 产品压你进度了怎么办
- Git 如何协作
- Redis 单线程、多线程
- MySQL 优化器内部
HR面
20 Min
- 简单了解情况
网宿科技
一面
俩位开发面试,可能是经理和主管。60 Min
- 自我介绍
- 上家公司主要做了什么
- 如何实现推荐系统
- Redis 如何做分布式
- Redis 单机主从方案
- 讨论了什么是分布式
- 微服务了解情况
- 服务出现问题要如何排查
- Go 是如何运行的
- GMP 引入了 P ,解决了什么
- Go 是如何编译的
- 读写分离、负载均衡
- 运维人员反馈出问题了,如何排查
- QPS、QTS 文件查看
- Go 服务出问题了如何排查
二面
总监面 30 Min
- 职业规划
- 上家公司开发过程中遇到了哪些难题
- 滑动窗口、DFA 实现
- 还有什么问题吗
- 有听过 DevOps吗
三面
HR 面 20 Min
- 目前情况
- 家庭情况
- 期望薪资
4399游戏
一面
主管面。10 Min
- 自我介绍
- 用 Go 实现队列
- 索引如何使用
- Dockerfile
- 如何控制并发
- 如何退出协程
- ElasticSearch 使用场景
- 上家公司主要做了哪些
飞鱼科技
一面
项目主管、项目制作人一起面试。面试时长:30 Min
- 自我介绍
- Go Map 使用注意
- Go Select 使用
- 如何实现聊天 IM
- 重构上家公司的系统,主要做了哪些
- 做过哪些开发,可以举例吗
- 有 CodeReview 的传统吗
- GoNet 项目的数据流
- 住哪里,哪里人
- 你和别人有什么不一样吗,有没有觉得你比别人优秀
- 遇到过最困难的事情是什么
- 玩过什么游戏
- 你的职业规划是什么
星辰天合
一面
项目主管。30 Min
- 介绍既往项目里主要用了哪些技术
- GoLang 主要用到了哪些
- 单例模式介绍,好、坏处评析
- 如何避免超卖
- ElasticSearch 查询方式
- 哪些场景需要用到 ElasticSearch
- 同时读写,锁的应用
- 如何保证缓存是最新的
- 什么场景需要用到消息队列
- 微服务使用场景
- Redis 使用场景
Next:聊聊HamZone社区的后端设计
好厉害!!
hi,老朋友。其实面试得算是比较基础的… 祝好☺️
目前在哪家?平常多久上线一次博客呢