7.16一面

  • 看你项目有图片上传,第三方服务还是存在本地了,大图片问题怎么做的,ios压缩图片会导致图片比较模糊,是怎么处理的

  • 项目用到了OAuth2.0,简单讲一下授权流程

  • 项目怎么来保证安全性呢(JWT,应对分布式,替代cookie+session)

  • 一般有什么方法来做限流,令牌桶和漏斗桶有啥区别

  • golang怎么协调并发协程的调度(channel/waitgroup/全局变量)

  • golang的gc流程,会stw吗,三色不变和混合写屏障

  • mysql数据表设计会考虑哪些因素(主键业务不相关/联合索引设计/utf8mb4编码/主从部署),varchar和char有什么区别,了解过底层吗

  • 什么是聚簇索引和非聚簇索引

  • mysql多事务操作会有哪些问题,具体解释一下,对应的有哪些事务隔离级别,怎么实现的(MVCC,版本链+undo log+read view)

  • 如果项目里api耗时过久,你会怎么去排查(pprof查看各部分占比,代码开启并发,瓶颈在mysql考虑优化索引和查询方式以及扩容,redis考虑主从+集群)

  • 算法,判断一颗二叉树是否是AVT

  • 面试官介绍他们团队总部在上海,北京也有一部分,主要做智能屏幕,针对 k12的儿童学前教育,上海主要是商业化相关,有手表、服务端开发、游戏开发之类的岗位

7.16二面

  • 之前实习主要做了些啥,突出的工作讲一讲(讲了下基于oauth2.0的周报机器人,回溯数据遇到的offset问题,任务系统重构如何用redis实现分布式锁的)

  • redis的分布式存储了解过吗(槽分散),虚拟槽了解吗,一致性哈希能讲一下吗,某个节点或者虚拟节点挂掉会怎么样

  • redis的zset底层结构了解过吗,讲一下(ziplist->dict+skiplist)

  • mysql为什么采用b+树

  • golang开发用什么框架,源码看过吗(没有)

  • 设计一个扫码登录的系统,重点讲下数据结构设计以及技术交互部分(pc端生成uuid,短连接轮训服务器,扫码确认后服务器将cookie传递给pc端,同时服务端可以用redis记一下过期时间,到期通知pc端更新二维码)

  • 算法,字符串的最长不重复子串长度(滑动窗口)

  • 面试官评价,算法和系统设计能力需要继续加强

7.16三面

  • 你觉得自己有哪些优势和不足

  • http2有哪些改动,tls了解过吗,讲一下流程

  • 你的勋章权益系统是怎么设计的,勋章和权益表怎么关联

  • 面试官是leader,说部门工作节奏995,21年1月份刚从百度独立出来,后面可能会上市,薪资福利都和百度对齐,主要做小度音箱系列,还有一些AIOT产品

7.30hr面

来个意向书吧,求求了,不想失业