微派网络—Go服务端开发(贪吃蛇)-技术面(超硬)-12.2
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