过关斩将!三面字节,27k*17offer,原来也没那么难

Posted java路人甲乙丙丁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了过关斩将!三面字节,27k*17offer,原来也没那么难相关的知识,希望对你有一定的参考价值。

一、为什么跳槽?

我做后端五年多了,同很多人一样,我大学的专业和程序员这个行业没有任何的关系。毕业后,很迷茫,就做了门槛相对来说较低的服务行业,之后,就一个偶然的机会接触了程序员这个行业,之后便开始了我长达五年多的后端开发工作。

我之前在一家中型的互联网公司工作,技术一直还算可以,一年前,随着年纪的增长,有了家庭的压力,便开始想着提升自己,想让自己到达一个新的高度,而且大厂的话不论是管理还是工作氛围都是可以帮助到自己的。

接下来就是跟大家分享一下我的字节面试经历,希望对即将在金九银十跳槽备战的朋友有所帮助,请大家耐心看下去

 

二、过关斩将!三面字节,斩获27k*17offer!

1、字节一面(都是相对比较浅的问题):

  • 自我介绍

  • 项目介绍

  • 项目问到token,说一下

  • 项目如何实现的,如果多终端呢(这里我回答的不是很流畅)

  • 还可以存放在哪里session

  • cookie是什么

  • 为什么当时没有实现(我直接回答的因为不会)

  • 正整数开根,保留两位小数

  • JMM说一下(开始背书)

  • 说到线程,那么线程是属于那块区域的

  • GC说一下(开始背书)

  • 有用到hashmap吗?实现?

  • 是线程安全的吗?

  • 想要线程安全怎么办?

  • 为什么使用红黑树

  • 红黑树特性

  • 和平衡搜索二叉树的区别

  • 时间复杂度?

  • 在浏览器输入一个网址会发生什么?(又开始背书了)

  • TCP/IP模型和OSI模型

  • 用过索引吗

  • 怎么样确定使用到了索引

  • 索引类型

  • 为什么用B+树

  • 和B树有什么区别

  • 聚簇索引和非聚簇索引

  • 有用过锁吗

  • 说一下lock和synchronized的区别

  • 代码题:手写一个单例模式吧(默写)

  • 看到有volatile关键字

  • 说一下volatile吧

  • 和synchronized的区别

  • 乐观锁和悲观锁

  • 反问环节

到这里一面就结束了,总体上来说还算是可以,只是有少部分的点有些遗忘所以导致答得不太流畅,一面没有问到计网和多线程,操作系统相关的知识,后续面试可能会是重点。

2、字节二面(相对来说还是有点难度的):

刚看到这位面试官,我就觉得是一位大佬,不是根据发量判断的哈哈,而是身上带有一股大佬的气质,后续的面试也证明了我的猜想。

  • 自我介绍

  • 你觉得自己相比一年前进步了多少

  • 算法题:编辑距离

  • 你使用的是什么版本的jdk?(我说的是1.8,然后还问了我1.6和1.7、1.8的差别)

  • HashMap和HashTable的区别是什么

  • 那么HashMap有没有线程安全的版本

  • 如何实现的?

  • 说到使用到了mysql问索引

  • 索引数据结构

  • 为什么要用B+树

  • 聚簇索引和非聚簇索引 (一开始说反了,后来突然意识到)

  • B+树叶子节点链表一定是放的是key和值吗?

  • 怎么去分配聚簇索引和非聚簇索引

  • 为什么这么去分配呢

  • 你的项目有很大的量级吗,有做过数据库优化吗

  • 然后问int存到数据库里面一般你都用什么类型来接

  • 顺着问varchar(35)的含义

  • 又问了中文在varchar中占几个字符

  • 还问了你在项目里有注意过这个编码问题吗

  • 讲一下redis的优点

3、字节三面:

计算机网络:

  • TCP UDP相关知识,握手挥手之类的

  • Https建立连接的过程

  • 状态码

  • 重定向转发区别

数据库:

  • 索引的知识

  • ACID

  • 事务并发的问题解决方法等

还有一些不太记得了

Java:

简历上写的用的java比较多,问了不少java

  • String创建对象

  • ==equals区别

  • 垃圾回收机制

  • 设计模式

  • lambda

  • intern

  • java内存模型

  • 线程池操作,参数等

算法题:

第一题:是输入一个数组,返回数组内数字能组成的最大数。

[1,3,5] = 531

[1,10,45] = 45110

类似上面这样

第二题:是输入每个课程之间的关系,比如1->2,表示学习课程2需要先学习课程1,每轮学习课程 项目不限,问最快几轮学习完之类的。

这题只让说了思路,面试官说就是想看看怎么解决吗不需要写代码。

第三题:蛇形或者说之字形遍历二叉树。

总的来说问得还算简单都是常规题,感觉运气不错哈哈。

三、学习笔记分享

1、面试真题笔记

这一年来,除了平时工作经验的积累,自己不断地在学习也是积累了不少的笔记,可以分享给大家,需要完整版的朋友文末有获取方式!

Java基础面试题:

 

Dubbo面试题含答案:

 

 

Mybatis面试题及答案:

 

 

JVM面试题及答案:

 

 

Redis面试题及答案:

 

 

Java面试问题集:

  • java基础部分

  • 算法与编程

  • html&javascript&ajax部分

  • Java web部分

  • 数据库部分

  • XML部分

  • 流行的框架与新技术

  • 软件工程和设计模式

  • j2ee部分

  • EJB部分

  • webservice部分

  • EJB部分

 

 

还有很多就不一一做展示了,希望对备战金九银十面试的朋友们有所帮助。

 

2、技术学习笔记:

2.1、Java成长笔记(JVM+Java集合+Java多线程开发+Java基础+spring原理+微服务+netty与rpc+网络+日志+zookeeper+kafka+rabbitmq+Hbase+MongoDB+Cassandra+设计模式+负载均衡+数据库+一致性算法+Java算法+数据结构+加密算法+分布式缓存+Hadoop+Spark+Storm+YARN+机器学习+云计算)

 

 

JVM(线程+Jvm内存区域+Jvm运行时内存+垃圾回收与算法+Java四种引用类型+GC分代收集算法VS分区收集算法+GC垃圾回收器+Java io/nio+JVM类加载机制)

 

 

Java基础(Java异常分类及处理+Java反射+Java注解+Java内部类+Java泛型+Java序列化+Java复制)

 

 

微服务(服务注册发现+API网关+配置中心+事件调度+服务跟踪+服务熔断+API管理)

 

 

Kafka(kafka概念+kafka数据储存设计+生产者设计+消费者设计)

 

 

数据库(储存引擎+索引+数据库三范式+数据库是事务+储存过程+数据库并发策略+数据库锁+分区分表+两阶段提交协议+三阶段提交协议+柔性事务+CAP)

 

 

还有很多技术大牛的学习笔记保存在我的电脑里,已经为了大家整理好了,需要的朋友文末有获取方式!

 

 

 

 

四、结尾

这次的面试分享就到这里了,不敢很确定的说对大家帮助有多大,但是多多少少都是有些帮助的。

我觉得氛围真的很影响一个人,之前在小公司的时候,不管是工作氛围,还是身边的人,给我传达的氛围就是消极的,让我没有动力去提升自己,哪怕自己有想法,也会很拖延。如果你正处于这种氛围,一定要跳脱出来,然后持续地去努力,你会发现其实进入大厂真没那么难。

由于篇幅限制,就不一一展示了,有需要文中“面试笔记+学习笔记”完整版的小伙伴们注意啦:一键三连(点赞+收藏+关注)后直接添加微信:mxh5261 即可百分百免费获取 

 

以上是关于过关斩将!三面字节,27k*17offer,原来也没那么难的主要内容,如果未能解决你的问题,请参考以下文章

秋招第一波offer来了!历经三面,过关斩将,终拿快手offer!

三面字节测开,27K成功入职

刺激的5月!字节三面鞭尸/嘴贱痛失腾讯offer,想要个offer这么难吗

字节跳动三面拿offer:网络+IO+redis+JVM+GC+红黑树+数据结构

字节跳动三面拿offer:网络+IO+redis+JVM+GC+红黑树+数据结构

Android 开发惨败在字节三面,幸斩获小米Offer