美文网首页互联网科技Java老男孩的成长之路
字节跳动2019核心部门面经(消息队列+分布式+CAS+Thre

字节跳动2019核心部门面经(消息队列+分布式+CAS+Thre

作者: 老男孩_Misaya | 来源:发表于2019-07-24 15:29 被阅读10次

    面试前

    字节跳动的面试是最专业的,每次面试前有专门的HR和你约时间,确定OK后再进行面试。每次都是通过视频面试,因为都是之前都是电话面或现场面,所以视频面试还是有点不自然。也有人觉得视频面试体验很赞,当然萝卜青菜各有所爱。最坑的二面的时候对方面试官的网络老是掉线,最后很冤枉的挂了(当然有一些点答得不好也是原因之一)。所以还是有点遗憾的。

    一面

    先自我介绍下
    • 聊项目,逆向系统是什么意思
    • 聊项目,逆向系统用了哪些技术
    • 线程池的线程数怎么确定?
    • 如果是IO操作为主怎么确定?
    • 如果计算型操作又怎么确定?
    • Redis熟悉么,了解哪些数据结构
    • zset底层怎么实现的
    • 跳表的查询过程是怎么样的,查询和插入的时间复杂度
    • 红黑树了解么,时间复杂度
    • 说下Dubbo的原理
    • 踩过什么坑没有
    • CAS了解么
    • 还了解其他同步机制么
    • 我们做一道题吧,数组A,2*n个元素,n个奇数、n个偶数,设计一个算法,使得数组奇数下标位置放置的都是奇数,偶数下标位置放置的都是偶数
    • 时间差不多了,先到这吧。你有什么想问我的?

    二面

    • 面试官和蔼很多,你先介绍下自己吧
    • 你对服务治理怎么理解的?
    • 项目中的限流怎么实现的?
    • 具体怎么实现的?
    • 如果突然很多线程同时请求令牌,有什么问题?
    • 怎么解决呢?
    • 如果不用消息队列怎么解决?
    • 分布式追踪的上下文是怎么存储和传递的?
    • Dubbo的RpcContext是怎么传递的?
    • 主线程的ThreadLocal怎么传递到线程池?
    • 你说的内存泄漏具体是怎么产生的?
    • 线程池的线程是不是必须手动remove才可以回收value?
    • 你说的内存泄漏是指主线程还是线程池?
    • 你说下SpringMVC不同用户登录的信息怎么保证线程安全的?
    • 我们聊聊mysql吧,说下索引结构
    • 为什么使用B+树?
    • 什么是索引覆盖?
    • Java为什么要设计双亲委派模型?
    • 什么时候需要自定义类加载器?
    • 我们做一道题吧,手写一个对象池
    • 有什么想问我的么

    总结

    二面技术面之后,就是HR,这个就不多说了。整体字节跳动的面试感受,面试官很专业,要求基础知识很熟悉,面试之前一定要准备后再去面试。LeetCode题目也要刷。

    切记面试前一定要刷题和准备,简历上的项目不熟悉的千万不要写上去,写上去的项目备好2-3个技术方案。

    我个人认为,作为技术人就要保持终生学习的态度,让学习力成为核心竞争力,才能不被时代所淘汰,而高效的时间支配能让你变得更加优秀,所以,我在这里将这份耗时两个月整理出来的核心技能知识点,送给有需要的人,希望这份资料能对大家有所帮助

    需要的可以加一下三千人的交流群860113481,免费领取

    更多资料展示





    需要的记得加一下三千人的交流群860113481,免费领取

    相关文章

      网友评论

        本文标题:字节跳动2019核心部门面经(消息队列+分布式+CAS+Thre

        本文链接:https://www.haomeiwen.com/subject/cszilctx.html