字节跳动实习面经(懂车帝后台开发)
大家好,我是bigsai,今天给大家分享自己字节跳动面试经验分享。
enum我面得岗位是后台实习开发,具体部门是懂车帝,总体感觉就是字节的流程真的好快,只要安排面试,那流程接着很快。
大概是上上周投递一波简历,然后上周一约的面试,然后周二下午三场面试(腾讯三面) 然后字节一面完面试官说你休息两分钟,待会二面,然后就接着二面,周三就是hr面,周五具体offer就下来了是真的快。
字节的两次面试大概每次都是一个小时左右,面试主要内容就是 算法题+项目+八股文,下面会详细讲讲自己的看法,有些问题看似简单,但也有很多想回答好没那么容易的,还有些问题忘记了哈。
字节一面 1h
ps:字节的后台主要技术栈是Golang,但是一面面试官看我简历上是Java技术栈,并且这个老哥感觉以前是做Java的,所以问了一些Java的问题。
自我介绍
介绍一下项目
在项目中负责什么(问数据库设计、缓存设计、其他功能设计等等)
你是搞Java的是吧,说说Spring两大核心(IOC,AOP)
SpringBoot和Spring区别
JVM内存模型
讲讲你知道的锁,什么是可重入锁
ReentrantLook是怎么实现
讲讲RESTful
讲讲InnerDB
说说你知道的HTTP状态码
Nginx和Tomcat区别
Get和Post的区别
HTTP请求报文格式
三次握手四次挥手
如何设计一个登录功能,需要考虑什么东西
字节二面(接一面)1h
自我介绍
算法题(力扣56. 合并区间)
介绍一下项目
项目中有用到什么设计模式,介绍你熟悉的设计模式
进程通信有哪几种方式,线程通信有哪几种方式
浏览器输入一个URL过程
MySQL事务ACID
事务隔离级别、幻读
谈谈你了解的微服务
流量并发太大有什么优化方法
Session存储在哪里,和Cookie区别
谈谈消息队列
如何保证Web应用设计的安全性(想多少说多少)
场景题:设计一个评论系统(数据库、缓存最重要),评论可以curd,查询可以按照页面ID查询,和用户ID查询(可以简单说说可以详细说说,自由发挥)
ps:这个场景题很有意思,缓存设计我个人设计前几页热点评论放缓存,其他不放(因为有删除可能影响太大hhh)
HR面
自我介绍一下
在项目中承担什么角色
你有什么优势
……
什么时候能入职
过两天offer就下来了
总结
enum,因为是实习面试,可能没那么卷,个人感觉大部分问题并没有刁难,也并没有深挖一两个点,刚开始我以为字节会以恐怖算法题和八股文让我整个过程瑟瑟发抖,我以为疯狂计网、疯狂OS,但是两个面试官都跟我聊了很多项目相关的,并且我的项目都是以前自己负责编写,也参加过一些比赛啥的,所以在项目润色这块可谓是很早前就做了准备。
根据刷题,八股文,和项目在这里我给大家一些建议吧。
刷题
刷题的话,短期速成很难,不过实习大部分公司对刷题要求没正式批那么高(毕竟是进去廉价劳动力),并且刷题实习一般不会出hard难度的问题,除非面试官可能看你不爽(hhh),然后剑指offer优先级最高,把剑指offer简单和中等题目认真刷,最好是懂每一题的最佳解 ,不过有时在面试途中如果直接用最佳方法怕卡壳忘记思路断电(确实有这种情况),你可以用自己把握强的方法先过,然后跟面试官说:"面试官这题虽然这样过了,我还有优化方法,可以跟你说说吗。" 然后就这样可以再把最佳方法思路流程详细说一下。
这个当场刷题,其实考的就是一个刷题量,简单题你可能当场想出来,但是剑指offer,力扣这些基本都是思维技巧很大的当场这种紧张很容易断电,所以还是要提前准备,面对字节实习的话最起码要准备剑指offer和力扣hot100题。
可不能在算法题直接倒下,在这倒下很影响你后面回答问题信心,并且面试官如果看你题解答的很棒可能用一个交流的方式跟你面试,而不是冷冰冰的一直问一直挖哈哈(个人猜测)。
八股文
八股文因为我准备时间很少,可能只有有限天数,我还是推荐Guide哥的JavaGuide面试突击版,用起来感觉很香,把很多高频问题都已经总结到了,另外如果有些感觉如果不够详细,可以找一些博客文章具体看看,因为面试高频问题有很多人写的非常好。不过面字节和腾讯的话Java那部分可以省略跳过一下。
除此之外,看一些公众号文章也是有必要的,比如我面试前把秀哥逆袭进大厂系列需要的看了,还有狼王那篇GET和POST卡布奇诺也看了刚好也问到了,还有看了一些身边比较厉害号主文章感觉还是在面试上有不少帮助的。
最后一点,牛客面经肯定要看的,看看各个大厂(可以直接搜这个部门)常见面试问题,看看自己能不能回答上来,不会的就去搜索学习一下,虽然这个很零散,但是经过前面两个步骤大部分热门面试题可能都涵盖了,所以再看看面经就是一方面考察一下自己掌握情况,另一方面就是查漏补缺。
项目
以前听过很多人靠着刷题+八股文就能进大厂,但是最近我感觉各个大厂对项目的要求明显高了,会详细问项目中的各种实现,也会给各种场景,所以要好好准备一些项目,最好是自己参与的。
项目最好什么类型呢?不要商城系统、秒杀系统、图书管理系统这些,最好就是能贴合以下两个方面:
- 能够真实落地小部分范围使用的,在这个过程中肯定有一个发展的过程。
- 未落地但是有发展前景的,跟当今潮流关系比较大的方向比如教育之类(可以多吹)。
项目的话一般准备2-3个,我个人准备两个,但是两个项目最好类别有一定区分度,最好不是课设、毕设这种必须要求的项目而是自己更主动创造出来的(可以说是参赛项目、落地使用项目、开源项目等等),并且项目中基本覆盖主流技术栈,这样面试官可以通过项目问一些问题你可能更熟悉,回答的也更好。
项目的话最好是自己的,如果自己没有项目也没有精力写项目可以找,但是不是自己的话一定保证吃透,可以使学长、学弟的,可以跟他们交流一下,吃不透面试官一问开发中具体可能出现问题如果露馅那可能评价不太好。
其他
除了上面提到的,简历啦这些可能也很重要,简历主要是包含基本信息、比赛荣誉、项目经历、实习经历(部分无)、个人评价这几个部分,最好各个部分充实,排版简洁(不过各大官网会有他们自己简历系统)。与面试官交流要口齿清楚,与人良好沟通也是实习工作必备条件,面试途中要谦虚乐观,这些不用多说了。
各个方面趁早准备,很多东西身不由己,计划早一点总没坏处。
最后
这其实是我收获的第一个大厂offer,虽然是实习的,考研狗一直在校读书到了研一读了五年书没实习过确实是有些遗憾,给hr交流时候喊她姐她让我别喊姐,我翻了朋友圈才发现她也是hr实习生hhh难怪。
但是这个offer我还是拒了,本来打算这个暑假大厂实习一波,顺便看看论文,但hhh研究生就是打工人,暑期外派无人车项目比赛,不过这无人车项目是c语言的,跟就业无关,但也没办法。暑假武汉,阿拉善啦!各位牛友们加油啊!
#实习##面经##字节跳动##Java工程师#