2024年最全一天约了4个面试,复盘一下面试题和薪资福利_一天4场面试(1),面试总结

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

星友

理解,谢谢大佬的诚恳的解答,我还是从技术栈下功夫,这样和面试官的共鸣会高一些,也不再执迷于某个技术亮点。

嘉宾

不客气,加油!技术栈扎实绝对没问题💪

重点干货已经加粗标记了,上面这个问答建议再看一遍,很经典的问题。

以下面经来自网络,感谢大佬们的分享,非本人,我只是做了面经的搬运工,希望对大家有帮助。

字节面经

一面

自我介绍+算法题:

  1. https://leetcode-cn.com/problems/find-peak-element/
  2. https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/ 3. https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii/

问答

  1. 索引,倒排索引,切词,如何根据 doc id 有没有出现某个 token
  2. 服务高可用是怎么做的
  3. MySQL 可重复读、读提交区别、原理
  4. 爬虫 URL 去重,设计存储结构(FST,前缀树+后缀树) MySQL (a,b,c) 索引,几条 SQL 走索引的情况
  5. 思考题:概率 p 生成 0,1-p 生成 1,如何 1/2 概率生成 1
二面

算法题:

  1. https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/
  2. https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii/
  3. https://leetcode-cn.com/problems/coin-change-2/

技术问题

  1. 讲一下 es 索引的过程
  2. 切词怎么切,切词算法,降噪
  3. 让你带应届生,怎么带,
  4. 有什么工程经验可以分享
  5. Redis 缓存淘汰有哪些

三面

自我介绍

算法题:

  1. https://leetcode-cn.com/problems/first-missing-positive/

技术面

  1. 文章下面的评论,按点赞数排序,SQL 怎么写
  2. 把所有评论放到内存里,怎么设计数据结构,存储并排序
  3. select * 会有什么问题
  4. 缓存热 key 怎么解决
  5. 职业发展
  6. 领导如何评价你
  7. 项目难点,亮点

滴滴面经

一面
  1. 介绍项目
  2. 问我为什么选择GO,看我有Java从业经历。
  3. 介绍一下java 和 go 区别,我猜是让我说一些他们的不同点,go 比java 哪里好。我说了一些 特性
    3.1 问我协程比进程好在哪里? 我自己顺便说了进程线程 协程三者关系 4. 问我想从事什么
  4. 项目中有bloom介绍了一下怎么使用的,精度,损失
  5. GPM模型
  6. redis使用模式 主从 哨兵 巴拉巴拉
  7. 接着聊项目,然后问了算法
  8. 渐进式的聊面试,很轻松
  9. 问我能不能接受看php? 反问时候,聊了一下GORM,应用情况。他们的go-spring,还有他们的夜莺系统。因为看过一点点所以想问问。有培养体系,教我如何写GO(这个我很欣慰),说有大佬内部课程。
二面
  1. 自我介绍(面试官也不看我,一脸严肃我特害怕。然后自我介绍磕磕绊绊的)
  2. 问我看源码吗?
  3. 问了问GC 发展史,都怎么玩的 每次优化了啥
  4. 问了问我go 内存 优化了那些东⻄(这题我忘了咋问的了)
  5. 问了一下我项目里nodejs 升级为 java 为啥会快了那么多。 6.问了红黑树特性,哪个数据结构用到了。我介绍了一下 红黑树 一些特性 比如 平均查找时间 低 插入删除需要 左旋右旋调平衡。 我想到 java里 hashmap 用到了这个结构 7.问了一下map的底层结构 顺便介绍了一下 sync map
  6. 找出两个大文件交集
  7. 算法 leetcode 两棵树 b 是 a子集那道题思路 怎么做 dfs 然后比较 值和 指针
  8. 聊了一下 我的项目 召回相关的 和 nodejs java 迁移 效率提升问题
  9. 聊了一下 go-spring 夜莺 还有 didi 有个 写sql的github 项目 想问一下应用情况。问我能不能 接受 看看php 之类的
  10. 问了问我为啥离职

腾讯面经

一面
  • 算法题二选一
    • https://leetcode-cn.com/problems/permutations/
    • https://leetcode-cn.com/problems/sorted-merge-lcci/
  • MySQL 隔离级别
  • MySQL 锁
  • MySQL 存储结构(b+树)
  • 索引 回表 是什么
  • 消息队列,rabbitmq
  • rabbitmq 如何保证可靠性(生产者可靠性、消费者可靠性、存储可靠性) - rabbitmq 几种模式
  • es 索引的过程
  • 线上是如何分表分库的,用什么做分表分库的策略,跨表查询
  • MySQL 如何同步到 es
  • 线上 Redis 用的是什么模式
  • 缓存热 key 怎么办
二面
  • 介绍项目
  • defer 、go 继承,手写快排
  • 登录流程,JWT、session、cookie
三面
  • 缓存一致性
  • Redis key 统计
  • Redis 单线程,io 多路复用
  • 算法题 https://www.nowcoder.com/practice/35119064d0224c35ab1ab612bffee8df
  • Redis slowlog 原理
四面(面委)
  • 项目为主
  • tcp quick_ack 、 nodelay ,socket 编程
  • 职业规划
  • 为什么换工作
五面(GM)
  • 项目
  • go 协程机制

腾讯云

这个面经来源于网络,这位朋友主要技术方向是k8s、容器、云计算。

有服务上云的实践经历,了解cicd基本流程,求知意向是容 器研发、基础架构研发、运维研发之类的(主要还是研发方向)。

项目方向:

项目的话我不多说什么,就是自己的项目细节自己肯定清楚,如果项目中不是自己做的
部分,建议不要在简历上写太多,写清楚自己做了什么,容易被抠细节问,项目一般都会抠细节,特别细的那种!!!

语言栈:

因为主要语言栈是go,所以一般都比较少问python。

golang

1、gin框架路由怎么实现的,具体正则怎么匹配?限流中间件怎么实现? 2、go的slice 与数组的区别,slice的实现原理,源码? 3、golang的协程调度,gpm模型。协程调度 过程中的锁。 4、golang的channel实现,channel有缓存和无缓存,一般会直接撸码 (三个goroutine顺序打印)。 5、golang的关键字defer、recover、pannic之类的实现 原理。 6、sync包里面的锁、原子操作、waitgroup之类的。 7、make和new的区别, 引用类型和非引用类型,值传递之类的。

python

1、python多线程、多进程。 2、python的装饰器怎么实现的?

操作系统

1、进程、线程、协程间的区别以及他们间的切换之类的,有时候会问到语言级别的协 程。 2、io复用、用户态/内核态转换 3、awk命令 4、linux查看端口占用 5、top命 令,free命令中的各个参数表示什么,buff/cache都表示什么?

k8s & 容器:

1、简单聊一下什么是云原生、什么是k8s、容器,容器与虚机相比优势。 2、k8s组 件,pod创建的过程,operator是什么? 3、docker是怎么实现的,底层基石 namespace和cgroup。 4、k8s的workload类型,使用场景,statefulset你们是怎么用 的? 5、limit和request,探针,一般怎么排查pod问题,查看上次失败的pod日志。 6、sidecar是什么,怎么实现的? 7、pv,pvc,动态pv怎么实现 8、k8s的声明式api 怎么实现的,informar源码。 9、cicd,发布模式。 10、svc的负载均衡、服务发现, ipvs与iptables。 以上基本是会被问的点(虽然有一些问题我也不是很熟),另外很多 会被问k8s的网络之类的,因为我比较菜,这块被问的比较少。

计算机网络:

1、tcp三次握手四次挥手,为什么不能是两次握手,三次挥手?握手和挥手过程中的状 态。 2、time_wait作用,为什么是2msl,close_wait作用,time_wait过多怎么办? 3、http请求的过程,浏览器输入网址请求过程?dns解析的详细过程? 4、https与http 的区别,https第一次服务端回传是否加密? 5、tcp与udp区别,tcp怎么保证可靠性。 6、http请求头、分隔符、⻓连接怎么实现

数据库:

1、mysql的事务,事务使用场景。 2、mysql的索引,什么情况下索引失效,聚簇索引 与非聚簇索引,索引的存储b+树与b-树区别。 3、join的内外连接,最左匹配原则。 4、redis的数据结构,hmap怎么实现的,持久化怎么做,go操作redis的方式。 数据库 方向有被问到,我基本没答上来(一般都告诉他只会基础,开发直接使用gorm)。

数据结构与算法:

1、倒排索引和B+树 2、判断链表是否有环,时间复杂度要求0(1) 3、LeetCode上合并 区间的题 4、leetcode的股票买卖的题 5、二叉树的最近公共祖先 6、有序数组合并 7、什么是平衡二叉树、最小堆 8、大文件的top10问题 9、golang实现栈、队列

其他:

1、git 的相关操作,合并commit,合并之类的。 2、场景设计(比较多)

小米面经

一面
  1. innodb MVCC实现
  2. b+树是怎么组织数据的,数据的顺序一定是从左到右递增的么
  3. ⻚分裂伪代码,b+树的倒数底层层可以⻚分裂么
  4. 合并k个有序链表
  5. redis的hashtable是怎么扩容的
  6. select poll epoll,epoll具体是怎么实现的
  7. GMP是怎么调度,channel是怎么收发消息的,channel的recq和g是怎么建立关系
  8. innodb二次写是什么
  9. undo里面具体存的是什么
  10. b+树节点具体存的是什么
  11. mysql一⻚最大能存多少数据
  12. myisam和innodb索引上的区别
  13. innodb commit之前,redo 的prepare然后binlog commit,然后redo再commit有
    什么缺点?5.6之后是怎么优化的? 14. redo和binlog的区别
  14. 读锁和写锁区别
二面
  1. 蛇形打印二叉树
  2. myisam为什么不支持事务,如果要支持事务要怎么做
  3. 函数只能返回1-7的随机数,请用这个函数返回1-5,要求平均 4. 聊项目
三面
  1. go的协程调度和os的线程调度有什么区别
  2. 只有写锁实现读写锁
  3. go的调度是怎么实现的
  4. go的网络IO为什么快?还有优化空间么
  5. epoll为什么这么快,还有优化空间么?如果要你实现一个网络IO应该怎么实现
  6. 设计一个每秒80万qps的过滤器
  7. 过滤器用redis实现,宕机期间数据怎么恢复
  8. 设计一个下单 扣减库存的分布式应用,请求超时了怎么办,一直重试超时了怎么办
  9. 数组A1 2和数组B2 3是一个关系圈,A能通过2找到3,数组A1 2和数组B2 3和数组
    C 3 5也是一个关系圈,给一个二维数组求关系数

小米游戏面经

一、 介绍连接池项目
  1. 介绍连接池常用的参数,最大连接数,最小存活数这些意义,为什么要有这些
  2. 当链接超过最大连接数怎么处理,等待有空闲连接还是创建一个继续给出,比较两
    者的优劣
  3. 连接池清理链接的逻辑,如何优化的
  4. 当连接池中有一些链接不可用了怎么办,如何保证这些连接的可用
  5. 当出现下游某个实例挂掉了,连接池应该怎么处理
  6. 对比 mysql redis http 连接池的实现
二、 介绍负载均衡算法
  1. 介绍平滑负载均衡算法,实现
  2. 当出现下游出现不可用,负载均衡算法怎么处理

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

算法怎么处理

[外链图片转存中…(img-cyOdT6ho-1715723267434)]
[外链图片转存中…(img-TmPhIT57-1715723267434)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值