腾讯、阿里、B站最新面经汇总,有的妥妥的凉经。

除了BAT(没错我说的B是B站的B),还有网易、希音科技、美柚等中小厂的最新面经。

这次投稿的同学行文幽默风趣,处处透漏着不成功便搞笑的骚气。

祝他早日上岸,也欢迎大家在评论区讨论这些面试题,有哪些面试题不知道怎么回答好,可以在评论区讨论留言,我会及时回复的。

b站外包/go开发/一面

  1. 自我介绍
  2. 在百度什么级别?t几?(没有技术级别,当时忘记自己是什么级别了,说了个m,然后他说m是经理hhh)
  3. 怎么设计一个api的(没答好,已读乱回)
  4. 怎么去防那个ddos(redis限流+nginx层做处理,最后还是花钱买服务)
  5. 怎么部署那个安全拦截服务的(领导买了,在控制台做的服务,点点点)
  6. cdn的理解(加快访问速度之类的,问我还有没有别的,我说没有)
  7. 负载均衡怎么做的(领导在控制台点点点)
  8. 说项目没难度(我说是,不像b站外包用到这么多技术)
  9. 分表是怎么分的

希音外包/PHP工程师/二面

  1. 自我介绍、项目总结
  2. laravel的生命周期(乱说一通)
  3. redis宕机了怎么办(redis日志排查,加redis哨兵做主从切换)
  4. http请求过程(乱说一通)
  5. 消息积压(说了分区、批量提交(面试官疑惑)、异步消费,他说异步消费不是搞得代码更加臃肿?)
  6. 怎么做幂等(面试官说用分布式锁做幂等?没有反驳他,说他对就完事了)
  7. mysql内存占用突然飙升,怎么排查问题(慢日志、框架日志排查,加索引、加缓存之类去解决)
  8. mysql死锁怎么解决的(只说了把mysql配置文件锁等待的时间设置短一点)
  9. 什么是死锁
  10. 接口的请求过程(乱说一通)
  11. redis持久化机制
  12. redis缓存击穿、穿透、雪崩
  13. 在团队中扮演什么角色

复试

  1. 自我介绍
  2. 说一下你重构后的项目,和之前的项目有什么不同,亮点在哪里(cms系统比织梦的安全性高)
  3. 过几年后你的项目数据量上来, 你会做一个什么样的优化(说了redis和mysql搞个集群,数据监控之类的)
  4. 项目基于Laravel8实现 ,构建项目的基础架构,确保代码的可维护性和扩展性的(乱说一堆)
  5. redis持久化机制
  6. redis rdb快照的时候,有写操作进来,会备份吗(不会,主线程会阻塞,感觉面试官想问bgsave命令,子线程备份,当时没想到)
  7. redis rdb 单线程 能不能接收客户端的请求(说了io多路复用)
  8. 发短信的时候,发送失败怎么处理的(记录发送状态+重试机制)
  9. 你们对短信发送的时间有要求吗。比如多少秒发多少条,是怎么确保一个到达率的(没有,如果要保证发送时间,说了多台机器批量去发送)

网易外包/Go后端开发/一面

  1. 自我介绍
  2. mysql查询慢是什么原因(没索引、表数据量大、死锁)
  3. mysql插入慢什么原因(表数据量大,sql语句多,表索引量大)
  4. 抽奖逻辑是怎么样的
  5. 怎么实现用户登录
  6. 用户登录安全有了解过吗(乱说一通)
  7. redis击穿
  8. redis穿透
  9. redis其他数据结构有用过吗?hmap、zet
  10. 短信发送失败怎么处理的(记录发送状态+重试机制)

二面

  1. 自我介绍
  2. cms系统0-1开发的?(开源框架二次开发)
  3. 做了哪些功能(栏目、文章、配置、模型管理之类的)
  4. 登录的过程说一下
  5. session登录有什么弊端,怎么改(多台服务器拿不到session,用redis做缓存)
  6. 客户端拿着token,你是怎么通过token获取客户的信息(校验token,获取token作为key的信息)
  7. 有没有难一点的功能,说一下(没有,单体项目量不大,只是业务复杂度的难,技术上的难点没有)
  8. 用户信息怎么做加密,token怎么生成之类的(md5+拼接指定的key或者之类的)
  9. 200个券码,发送客户,怎么设计?(分布式锁,数据库唯一索引兜底)
  10. 还可以怎么优化(redis布隆过滤器,避免大量重复请求,处理逻辑做幂等方案)【睡不着想起来还可以做mysql的乐观锁,数据做缓存预热,减轻数据库请求压力】
  11. 长连接做成短连接,怎么设计,怎么做到短连接唯一(说了和自己的 短信生成方法(用户id活动id,二进制),php的uuid,时间戳,uuid截取?引用第三方库之类的)
  12. 面试官说要短的,要唯一的,答不出来

美柚科技外包/golang服务端工程师/一面

  1. cpu飙升怎么排查(top命令查看进程,找出对应的模块去排查)
  2. 平常用的什么设计模式(策略模式,说了抽奖,单例模式数据库)
  3. 大数据量怎么分表(说了按年份分表,然后业务需求,按照指定需求去划分)
  4. 水平分表、垂直分表(说了垂直分表是把冷字段切分出去,减少字段列)
  5. 设计模式开闭原则?(不懂,面试官说开是怎么加逻辑,闭是不能让什么什么写进来)
  6. go内存泄漏怎么排查(忘记了)
  7. sql执行慢怎么排查(mysql慢日志查询,explain分析,在对应字段建立索引)
  8. 索引怎么建立(建立在wehere或者order字段之类的)
  9. b+树和b树的区别(说了叶子节点和非叶子节点,b+树用双向连表方便查询)
  10. 有没有用过微服务(项目没用到,自己写过一下示例)
  11. 项目最大的qps是多少(说了官网有1000+)
  12. gmp调度模型(随便一吹)
  13. go协程里不捕抓异常会怎么样(内存泄漏,面试官说不全是)
  14. redis用的那些结构(string、zset、list)
  15. redis遇到过什么问题(缓存击穿,设置热点数据不过期,更新数据库再更新缓存)
  16. 说一下kafka(说了对接线索系统)
  17. 为什么重构用go(说公司技术转型,提倡php要转go)
  18. 怎么保证高可用(说了对服务做监控之类的?没准备好)
  19. 对服务器怎么做的监控,cpu、内存之类的(我说没有,自己做监控的话就做了定时任务监控网站是否访问,线索是否正常入库)
  20. 没有运维吗(没有,后端一把梭)
  21. 项目怎么部署的(icode上做安全检测,然后scp命令上线)
  22. 开发文档?他说是功能开发起来会遇到什么情况之类的文档(我说了功能开发时间、数据库文档、接口文档)

腾讯外包/后端开发/一面

  1. 自我介绍
  2. go开发几年(1年半)
  3. 熟悉到什么程度(增删改查不是问题)
  4. map是否安全(不安全)
  5. 为什么不安全
  6. slice的底层结构
  7. apendslice会安全吗
  8. automatic有用过(用过+1-1)
  9. 说一下什么是原子性(要么成功要么失败)
  10. 怎么做有一个有序的排序(结构里搞个切片,然后用sort排序)
  11. mysql主从同步机制(不会)
  12. redis常用数据结构(string、list、hash、set、zset、bitmap)
  13. 有序列表的底层结构(不会,跳表)
  14. 常用的索引数据结构(哈希、b+树、二叉树)
  15. 微服务的服务发现(客户端服务、服务端服务)
  16. 怎么感知服务集群的变化(服务注册中心、轮询服务健康、监控系统)
  17. 注册中心如何感知服务的变化(心跳推送?触发机制之类的)
  18. 会不会k8s(不会)

阿里外包/一面

  1. 自我介绍
  2. 遇到过高并发?(网站大访问量用redis缓存,表单做提交)
  3. 进程、线程、协程(随便说说)
  4. go的协程设置原理(说了gmp模型)
  5. go的锁,用到什么锁(mutex、rwmutex)
  6. 锁怎么实现的,有没有看过源码(莫得)
  7. innodb和myisam区别(事务支持、查询速度、表文件结构、外键支持、innodb有主键,查询效率高)
  8. 为什么查询效率高(叶子节点存储索引和数据,避免回表二次查询)
  9. mysql优化(说了分表和覆盖索引)
  10. explain关注的字段(命中索引、可能命中索引、全表扫描、用到覆盖索引)
  11. redis和kafka的区别(说了redis和kafka的特点)
  12. 用过k8s吗(没)
  13. mysql的版本控制(说了mvcc,以及怎么实现的)
  14. 前期用php?(公司转型)
  15. php和go哪个好用(说了go协程用起来方便,php的麻烦一点,编译型语言,安全比php明文安全)
  16. goroutine+channel依次输出小猫小狗100次(设置猫狗channel,先读猫channel输出,狗输出的时候先读猫channel来保证顺序,没说好这一块)
  17. map怎么用?线程安全?怎么扩容?(不是安全的,用sync.map安全,说了双倍扩容)
  18. 怎么解决他的哈希冲突?(重新扩容、哈希函数重新生成)
  19. 设计模式(说了单例模式、策略模式)
  20. php用什么框架(tp、laravel)
  21. laravel的依赖注入

早日上岸!

我们搞了一个免费的面试真题共享群,互通有无,一起刷题进步。

没准能让你能刷到自己意向公司的最新面试题呢。

感兴趣的朋友们可以加我微信:wangzhongyang1993,备注:面试群。

相关推荐
LightOfNight1 小时前
【设计模式】创建型模式之单例模式(饿汉式 懒汉式 Golang实现)
单例模式·设计模式·golang
MelonTe6 小时前
Golang网络模型netpoll源码解析
golang
Clown959 小时前
go-zero(十) 数据缓存和Redis使用
redis·缓存·golang
蚂蚁在飞-10 小时前
一个高度可扩展的 Golang ORM 库【GORM】
数据库·oracle·golang
hummhumm11 小时前
第33章 - Go语言 云原生开发
java·开发语言·后端·python·sql·云原生·golang
凡人的AI工具箱12 小时前
40分钟学 Go 语言高并发:【实战】并发安全的配置管理器(功能扩展)
开发语言·后端·安全·架构·golang
桃园码工14 小时前
3-测试go-redis+redsync实现分布式锁 --开源项目obtain_data测试
redis·分布式·golang
yours_Gabriel14 小时前
【SpringBoot问题】IDEA中用Service窗口展示所有服务及端口的办法
java·微服务·springboot
wclass-zhengge16 小时前
02微服务系统与设计(D1_走出微服务误区:避免从单体到分布式单体)
分布式·微服务·架构
熬了夜的程序员17 小时前
使用Go语言实现线程安全的Map
安全·golang