base:武汉
相信大家都听过贪吃蛇大作战这个游戏吧,就是他家开发的。
12月2号面试的,面试官很好,给我最大的印象就是很有耐心。
题目还是有深度的,但你说得不多的话就不会追问了,算是坎坷的完成了。
一面|90分钟
- 上来就是对着简历问项目
a. 帖子投票(点赞)功能设计与实现
b. 怎么知道这个帖子点没点过赞
c. 通过什么逻辑或标记记录是否点过
- redis
a. redis数据结构
b. 为什么项目选择zset?
c. zset底层实现
ⅰ. 跳表
ⅱ. 怎么插入的?
ⅲ. 底层插入后上面几层有没有插?怎么确定的?
ⅳ. 第二层、第三层有没有数据 怎么出现的?
- jwt
a. 使用流程
b. access token过期怎么去找到对应的 refresh token
c. 为什么要用两个,而不用一个token
d. refresh token的作用
e. 直接给你两周的access token 为什么还要设计refresh token
f. 额外设计refresh token的意义是什么
- 计网
a. cookie、session、token
b. cookie+session 的问题
c. http协议介绍一下
d. udp啥时候有作用
e. get/post 请求的区别
f. https
g. https加密的过程
h. 整个后期数据传输的加密的密钥都是客户端生成的吗?
- 数据库
a. mysql字符集
b. utf-8 和 utf8mb4 的区别
c. 设计一张表会指定字符集,字段也可以指定字符集,这俩有什么关系?
d. 字段的字符集和表的字符集不一样会怎么样?
e. 连接数据库的连接字符集和库的字符集不一致的时候会发生什么?
f. 事务隔离级别
ⅰ. 多版本并发控制mvcc
ⅱ. MVCC + Next-key Lock 防止幻读
ⅲ. Next-key Lock 是什么
- 微服务
a. protobuf的序列化流程
b. go的struct通过grpc传输的时候,是一个二进制的字节流,struct变成字节流的过程?是怎么拼成字节流的?(不会)
c. 用rpc请求和http请求的区别,和rpc的优势是什么?
d. 是什么造成rpc的性能更好?
- 手撕
a. 提取出字符串中第一个合法的整数。输入:“a12s3”,输出:123
ⅰ. go实现
ⅱ. 不准用正则
ⅲ. 题虽然不是特别难,
ⅳ. 但是卡了我半天。。。
ⅴ. 好长时间没写出来,
b. 面试官:你觉得你没法下手的点是啥?
c. 讲一下你的思路
d. 写代码的过程中出现了很多问题,解决bug中
e. 代码写完,讲解代码
f. 写完算法心态有点崩
- 对自己的简历或者其他有什么需要补充的
- 觉得自己用什么优势或者特长?
- 对找工作有什么规划要求?
- 来了之后会参考实际情况分配项目组,不一定是贪吃蛇的项目组
- 反问
- 12点半 结束
高质量面试
- 秋招以来继好未来(拒)之后难度最大、时间最长的一场
- 从11点一直面到12点半,太离谱
- 面完真的身心俱疲
- 面试官很有耐心,很专业
- 不管过不过,这场面试很有价值
- 微信公众号:Gopher毛
- 交流q群2:579480724
- 交流q群1(满):1007576722
- 精心整理的golang全套求职面经:https://github.com/mao888/golang-guide
附:哔站原录音:https://www.bilibili.com/audio/au3646624?type=1