字节跳动后端面试题java,程序设计+Java+Web+数据库+框架+分布式

导语

回首向来萧瑟处,归去,也无风雨也无晴。

我一哥们也是做Java开发,暂且先叫他峰哥吧,到今年已经入行6年了,每天还是写一些业务代码,至今还是个单身狗,愁的头发真的都快谢顶了。

虽然峰哥每天做着CRUD的工作,但每天还是做着能进BAT的梦,尤其是今年,公司扛不住疯狂裁员,峰哥也不出意外的被裁掉了。被裁后,峰哥开始海投简历,说实话,按照我对他的了解,峰哥平

点击领取2024完整开源项目《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》

时就比较贪玩,上进心也不强,总是逼不得已为了高薪跳槽才去学习,到最后终究是竹篮打水一场空。

想想峰哥马上就要30岁了,以后到底该何去何从?

我结合峰哥个人的想法,我给他的建议还是进阶自己的技术,成为更高阶的程序员,这是最直接的发展方向,也是大部分程序员的选择,这就像是一个游戏,通过不断完成更有挑战的任务,获得级别的提升。

字节跳动

2020年五面蚂蚁、三面拼多多、字节跳动最终拿offer入职拼多多

面试前

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

一面

  1. 先自我介绍下
  2. 聊项目,逆向系统是什么意思
  3. 聊项目,逆向系统用了哪些技术
  4. 线程池的线程数怎么确定?
  5. 如果是IO操作为主怎么确定?
  6. 如果计算型操作又怎么确定?
  7. Redis熟悉么,了解哪些数据结构?
  8. 跳表的查询过程是怎么样的,查询和插入的时间复杂度?
  9. 红黑树了解么,时间复杂度?
  10. 既然两个数据结构时间复杂度都是O(logN),zset为什么不用红黑树
  11. 点了点头,说下Dubbo的原理?
  12. CAS了解么?
  13. 那我们做一道题吧,数组A,2*n个元素,n个奇数、n个偶数,设计一个算法,使得数组奇数下标位置放置的都是奇数,偶数下标位置放置的都是偶数
  14. 先说下你的思路
  15. 下一个奇数?怎么找?
  16. 有思路么?
  17. 你这样时间复杂度有点高,如果要求O(N)要怎么做
  18. 时间差不多了,先到这吧。你有什么想问我的?

二面

  1. 面试官和蔼很多,你先介绍下自己吧
  2. 你对服务治理怎么理解的?
  3. 项目中的限流怎么实现的?
  4. 具体怎么实现的?
  5. 如果突然很多线程同时请求令牌,有什么问题?
  6. 怎么解决呢?
  7. 如果不用消息队列怎么解决?
  8. 分布式追踪的上下文是怎么存储和传递的?
  9. Dubbo的RpcContext是怎么传递的?
  10. 你说的内存泄漏具体是怎么产生的?
  11. 线程池的线程是不是必须手动remove才可以回收value?
  12. 那你说的内存泄漏是指主线程还是线程池?
  13. 可是主线程不是都退出了,引用的对象不应该会主动回收么?
  14. 那你说下SpringMVC不同用户登录的信息怎么保证线程安全的?
  15. 这个直接用ThreadLocal不就可以么,你见过SpringMVC有锁实现的代码么?
  16. 我们聊聊mysql吧,说下索引结构
  17. 为什么使用B+树?
  18. 什么是索引覆盖?
  19. Java为什么要设计双亲委派模型?
  20. 什么时候需要自定义类加载器?
  21. 我们做一道题吧,手写一个对象池
  22. 有什么想问我的么?

小结

头条的面试确实很专业,每次面试官会提前给你发一个视频链接,然后准点开始面试,而且考察的点都比较全。

面试官都有一个特点,会抓住一个值得深入的点或者你没说清楚的点深入下去直到你把这个点讲清楚,不然面试官会觉得你并没有真正理解。二面面试官给了我一点建议,研究技术的时候一定要去研究产生的背景,弄明白在什么场景解决什么特定的问题,其实很多技术内部都是相通的。很诚恳,还是很感谢这位面试官大大。

总结

从年前开始面试到头条面完大概一个多月的时间,真的有点身心俱疲的感觉。最后拿到了拼多多、蚂蚁的offer,还是蛮幸运的。头条的面试对我帮助很大,再次感谢面试官对我的诚恳建议,以及拼多多的HR对我的啰嗦的问题详细解答。

这里要说的是面试前要做好两件事:简历和自我介绍,简历要好好回顾下自己做的一些项目,然后挑几个亮点项目。自我介绍基本每轮面试都有,所以最好提前自己练习下,想好要讲哪些东西,分别怎么讲。此外,简历提到的技术一定是自己深入研究过的,没有深入研究也最好找点资料预热下,不打无准备的仗。

总结

上述知识点,囊括了目前互联网企业的主流应用技术以及能让你成为“香饽饽”的高级架构知识,每个笔记里面几乎都带有实战内容。

很多人担心学了容易忘,这里教你一个方法,那就是重复学习。

打个比方,假如你正在学习 spring 注解,突然发现了一个注解@Aspect,不知道干什么用的,你可能会去查看源码或者通过博客学习,花了半小时终于弄懂了,下次又看到@Aspect 了,你有点郁闷了,上次好像在哪哪哪学习,你快速打开网页花了五分钟又学会了。

从半小时和五分钟的对比中可以发现多学一次就离真正掌握知识又近了一步。

人的本性就是容易遗忘,只有不断加深印象、重复学习才能真正掌握,所以很多书我都是推荐大家多看几遍。哪有那么多天才,他只是比你多看了几遍书。

img-DIfH9N9U-1709813933845)]

人的本性就是容易遗忘,只有不断加深印象、重复学习才能真正掌握,所以很多书我都是推荐大家多看几遍。哪有那么多天才,他只是比你多看了几遍书。

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

  • 23
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值