噢耶!字节后端Offer,拿到了!

2023年 9月 25日 45.9k 0

很多同学反馈多搞点面经,说来就来!

今天分享一位拿到字节跳动实习Offer的面经,没错,Java转Go。

别问我选Java还是选Go,成年人不做选择题。先搞定一个语言,再学第二语言从来不是难事。

无论学哪个,你要做的事情是先学起来:想都是问题,学才有答案!

面经分享

本文没有按照一面、二面、三面流水账的形式整理。

而是把面试中碰到的问题,按种类划分汇总:算法题、数据结构、操作系统、数据库、缓存、计网、场景题等等,这样对大家应该更有帮助!

一、算法题:

  • 给定一个字符串abcdabgh,给个字符a,随机返回a下标,比如这个是0 4。要求返回的概率必须一样,空间复杂度要求O1即不能开任何空间存储下标,并且只能遍历一次。

  • 给定n个骰子,和为k的概率,不能用回溯。

  • 给一个数字比如234,给个数组比如{2,3,7},找出第一个不大于234的数,比如这个是233,有几种情况我记得是,这里用到了有序表我写的时候。

  • 二、八股文

    不全,比较简单的我就没整理了...

    数据结构:

  • 堆和树的区别?应用场景?

  • 二叉搜索树是什么?

  • 操作系统:

  • 进程之间的通信方式?写个死锁?怎么解决?

  • 操作系统内存满了怎么办?如何回收?有什么影响?

  • 什么是僵尸进程?应该怎么去操作?

  • 为什么会有线程安全的问题,如何解决?

  • 说一下乐观锁和悲观锁?说一下CAS?aba问题是什么?如何解决?

  • MySQL:

  • 索引构成?(B+树)索引优化?给个sql让判断走索引的情况?

  • 什么是慢sql,如何查找,如何优化?

  • 三大日志,我记得好像有个问题是redolog写进去了,但是有个bin log没写进去该怎么办?(具体的我忘了,我没回答好)讲write还有flush区别?redo log刷盘时机?三大日志的执行顺序?

  • mysql的事务隔离级别?各自解决了什么问题?mvcc的流程

  • Redis:

  • 问了zset的底层?为什么不用红黑树?(这是我自己引得,我傻了自己说了一句没用红黑树,用的是跳表)

  • redis里面的命令行比如setnx和setex 还有zset里面的

  • redis的key有大小的限制吗?有什么影响?怎么办?

  • redis的内存淘汰策略?(面试的时候一直想不起来 一直背了半天旁路缓存那些东西 我以为凉了的)

  • 根据score查member的时间复杂度?反过来根据member查score时间复杂度?

  • 计算机网络:

  • http常见的方法和状态码有哪些?

  • 502是什么错误?如何排查问题?

  • 讲一下反向代理?

  • 场景设计:

  • 敏感词库的设计,要求增删改查敏感词。敏感词文本匹配,敏感词一万个,文本长度20-10000这样子。

  • trie树什么的都回答了,开什么几个线程这样子,我也是各种瞎说,后面问我在这里面怎么存储持久化,给出方法,redis里面存储如果宕机了怎么办有个节点?这一块真的虚,我也不知道怎么办,感觉面试官很厉害,我给的方案他好像都否定了,说我的方案一天宕机几分钟怎么可能行?

  • 三:项目和实习

    也有一些闲聊没有写进来...

  • 微信扫码登录流程?后面的原理你了解吗?(准备了很久的Oauth2总算碰到了开心)csrf是什么?怎么解决的?

  • 项目难点(之前登录日志是同步写入库的 后来为了提升效率加入了队列 先写队列后消费入库 做解耦 但是队列用了同步操作 有一次mq挂了 导致登录服务不可用 这种是不可接受的 记日志不能影响登录 所以将其改为了异步方式)

  • 订单30分钟取消,延时消息这里(这个是我自己引申的,我包装了一下,我把mq的18个队列讲了一下,也讲了一下kafka的时间轮)

  • 你实习用的什么语言?go的协程里面出现panic怎么办?defer讲一下?gmp模型了解吗?

  • 一起进步

    独行难,众行易,如果你想和我们一起组队学Go,欢迎加入我们的小圈子,一起刻意练习,结伴成长!

    微信号:wangzhongyang1993

    公众号:程序员升职加薪之旅

    也欢迎大家关注我的账号,点赞、留言、转发。你的支持,是我更文的最大动力!

    相关文章

    JavaScript2024新功能:Object.groupBy、正则表达式v标志
    PHP trim 函数对多字节字符的使用和限制
    新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
    使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
    为React 19做准备:WordPress 6.6用户指南
    如何删除WordPress中的所有评论

    发布评论