211毕业,2020最新字节后端三面面经分享,算法还是让我很为难

Stella981
• 阅读 445

注:本场面试在疫情期间三月份拿到的字节offer

基本条件

本人是底层 211本科,无科研经历,但是有一些项目经历,在国内监控行业某头部企业做过一段时间的实习。想着投一下字节,可以积累一下面试经验和为春招做准备.投了简历之后,过了一段时间,HR 就打电话跟我约时间,在年后进行远程面。

说明一下,我投的是北京 office。

一面

面试官很和蔼,由于疫情的原因,大家都在家里面进行远程面试。

开头没有自我介绍,直接开始问项目了,问了比如

  • 常用的 Web 组件有哪些(回答了自己经常用到的 SpringBoot,Redis,Mysql 等等,字节这边基本没有用 Java 的后台,所以感觉面试官不大会问 Spring,Java 这些东西,反倒是对数据库和中间件比较感兴趣)
  • Kafka 相关,如何保证不会重复消费,Kafka 消费组结构等等(这个只是凭着感觉和面试官说了,因为 Kafka 自己确实准备得不充分,但是心态稳住了)
  • Mysql 索引,B+树(必考同学们)

还有一些项目中的细节,这些因人而异,就不放上来了,提示一点就是要在项目中介绍一些亮眼的地方,比如用了什么牛逼的数据结构,架构上有什么特点,并发量大小还有怎么去 hold 住并发量

后面就是算法题了,一共做了两道

  1. 判断平衡二叉树(这道题总体来说并不难,但是面试官在中间穿插了垃圾回收的知识,这就很难受了,具体的就是大家要判断一下对象在什么时候会回收,可达性分析什么时候对这个对象来说是不可达的,还有在递归函数中内存如何变化,这个是让我们来对这个函数进行执行过程的建模,只看栈帧大小变化的话,应该有是两个峰值,中间会有抖动的情况)
  2. 二分查找法的变种题,给定target和一个升序的数组,寻找下一个比数组大的数.这道题也不难,靠大家对二分查找法的熟悉程度,当然,这边还有一个优化的点,可以看看我的博客找找灵感

完成了之后,面试官让我等一会有二面,大概 10 分钟左右吧,休息了一会就继续了

二面

二面一上来就是先让我自我介绍,当然还是同样的套路,同样的香脆

然后问了我一些关于 Redis 的问题,比如 zset 的实现(跳表,这个高频) ,键的过期策略,持久化等等,这些在大多数 Redis 的介绍中都可以找到,就不细说了

还有一些数据结构的问题,比如说问了哈希表是什么,给面试官详细说了一下java.util.HashMap是怎么实现(当然里面就穿插着红黑树了,多看看红黑树是有什么特点之类的)的,包括说为什么要用链地址法来避免冲突,探测法有哪些,链地址法和探测法的优劣对比

后面还跟我讨论了很久的项目,所以说大家的项目一定要做好,要有亮点的地方,在这里跟面试官讨论了很多项目优化的地方,还有什么不足,还有什么地方可以新增功能等等,同样不细说了

一边讨论的时候噼里啪啦敲了很多,应该是对个人的面试评价一类的

后面就是字节的传统艺能手撕算法了,一共做了三道

  • 一二道是连在一起的.给定一个规则S_0 = {1} S_1={1,2,1} S_2 = {1,2,1,3,1,2,1} S_n = {S_n-1 , n + 1, S_n-1}.第一个问题是他们的个数有什么关系(1 3 7 15... 2 的 n 次方-1,用位运算解决).第二个问题是给定数组个数下标 n 和索引 k,让我们求出 S_n(k)所指的数,假如S_2(2) = 1,我在做的时候没有什么好的思路,如果有的话大家可以分享一下
  • 第三道是下一个排列:https://leetcode-cn.com/problems/next-permutation 的题型,不过做了一些修改,数组大小10000<n<100000,不能用暴力法,还有数字是在 1-9 之间会有重复

hr 面

一些偏职业规划的话题了,实习时间,项目经历,实习经历这些。

总结

基础很重要!这次准备到的 Redis,Mysql,JVM 原理等等都有问到了,(网络这一块没问,但是也是要好好准备的,对于后台来说,网络知识不仅仅是面试,还是以后工作的知识基础).当然自己也有准备不足的地方,比如 Kafka 等中间件,只会用不会原理是万万不行的.并且这些基础知识不能只靠背,面试官还会融合在项目里面进行串问

问到了不会的不要慌,因为面试官是在试探你的技术深度,有可能会针对某一个问题,问到你不会为止,所以你出现不会的问题是很正常的,心态把控住就行.

无论是做题,还是回答问题的时候,牢记你不是在考试,而是在交流,和面试官有互动和沟通是很重要的,你说的一些疏漏的地方,如果你及时跟面试官反馈,还是可以补救一下的

最重要的一点字节的面试就是算法一定要牢固,每一轮都会有手撕算法的,这个不用想,LeetCode+剑指 Offer 走起来就对了,心态很重要,算法题不一定都是你会的,要有一定的心理准备,遇到难题可以先冷静分析一波.而且写出Bug free的代码也是很重要的,我前面的几题算法因为在牛客网上进行面试,所以要运行出来.

最后祝大家在春招取得好的 Offer,奥力给!

小编在这里分享一波自己整理的面试宝典以及面试文档供大家复习!

其中包括有(JVM、多线程、高并发、Spring、Nginx、Dubbo、Redis、微服务、Kafka、MySQL等)

经典算法面试宝典

着:左程云

这是一本程序员面试宝典!书中对IT名企图面试的类别转化的最优解进行了总结,并提供了相关的代码实现。针对当前程序员面试缺乏权威的总结总结这一痛点,这本书选择“将近200道真实出现过的经典代码面试题,帮助广大程序员的面试准备做到万无-一失。

添加助手VX:MXW5308 获取左程云算法面试指南,283页Java核心知识宝典

211毕业,2020最新字节后端三面面经分享,算法还是让我很为难

211毕业,2020最新字节后端三面面经分享,算法还是让我很为难

211毕业,2020最新字节后端三面面经分享,算法还是让我很为难

附:排序与数据结构与算法

211毕业,2020最新字节后端三面面经分享,算法还是让我很为难

添加助手VX:MXW5308 获取左程云算法面试指南,283页Java核心知识宝典

211毕业,2020最新字节后端三面面经分享,算法还是让我很为难

面试文档

211毕业,2020最新字节后端三面面经分享,算法还是让我很为难

面试文档

211毕业,2020最新字节后端三面面经分享,算法还是让我很为难

208页核心面试宝典

转发+评论,关注我私信回复“666”即可免费获取算法面试宝典、Java核心知识点、其他面试文档

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
2年前
java将前端的json数组字符串转换为列表
记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
希望的天 希望的天
3年前
前端面试常考知识点整理
个人经历给大家一个参考,计算机信息工程专业,大学学过前端,毕业后阴差阳错在小公司做了三年测试后,意外地拿到了字节跳动前端的offer,成功跳槽到了字节跳动事业部。字节跳动面试对基础比较看重,然后需要你有两三个比较好的项目,一面重视面试者对前端基础的把握,还要手写代码,不过不难。二面部门的leader面,这一面比较难,面试官会对你的项目细节进行深挖
Stella981 Stella981
2年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Wesley13 Wesley13
2年前
Java后端面经汇总:京东+猫眼+有赞+贝壳+GrowingIO+美团+老虎
为了这次面试也是准备了很长时间,offer没挂的都拿到了,不过我不是刷offer,被春招1offer吓怕了,海投的。各位想要看我为了准备面试的复习大纲可以在文末看到哦!~京东一面:1.自我介绍2.讲一下项目3.面向对象的特征,详细解释一下4.接口和抽象类区别,怎么选用5.线程池的参数6.HashMap,
Easter79 Easter79
2年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
2年前
Java架构速成笔记:五大专题,1345页考点 看完直接收获腾讯、京东、滴滴offer
秋招总结本人水硕,今年研二。从今年十月份准备秋招一直到目前拿到了腾讯视频,京东,滴滴数据中台的后台开发实习Offer。遗憾的是共经历23场阿里面试,每次都是倒在了最后的录用排序。写这个帖子希望记录一下自己这一段的面试经历,也分享一下自己的一些经验,希望能够帮助到更多的人。简历简历是我们的第一份敲门砖,在用人公司与我们进一
可莉 可莉
2年前
211毕业,2020最新字节后端三面面经分享,算法还是让我很为难
注:本场面试在疫情期间三月份拿到的字节offer基本条件本人是底层211本科,无科研经历,但是有一些项目经历,在国内监控行业某头部企业做过一段时间的实习。想着投一下字节,可以积累一下面试经验和为春招做准备.投了简历之后,过了一段时间,HR就打电话跟我约时间,在年后进行远程面。说明一下,我投的是北京office。
Wesley13 Wesley13
2年前
37岁程序员失业投500份简历就3次面试猎头:超35岁不要
37岁程序员失业120天,投了500份简历就3次面试,猎头:超过35岁都不要在职场中,都说互联网吃青春饭,而35岁就是一个门槛,一旦到了这个年龄找工作都非常难,甚至被公司裁员的风险都很大,其实一个现象也不难发现,互联网公司几乎都是年轻化,高龄员工很少,这也算行业趋势。最近,一位程序员在职业论坛留言,分享了自己面试的经历,“37岁程序员失业120天,投