在厦门的 Go 面试情况

共码了2081个字
文内使用到的标签:

前言

去年发生了一次工作上的变动,在此记录一下,希望有所进步。

这是在面试后,通过头脑复盘,记录在随简历一起携带的 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 使用场景
Prev:
Next:

《“在厦门的 Go 面试情况”》 有 3 条评论

  1. 风清说道:

    好厉害!!

  2. 厉飞羽说道:

    目前在哪家?平常多久上线一次博客呢

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注