坐标北京,某211本科毕业生,之前学校活动有去过字节跳动公司总部参观,所以一直以来就蛮想进入字节工作的,被字节的企业文化和工作氛围所影响。字节作为发展速度最快的互联网公司,旗下的很多产品的用户都比肩BAT了,所以自己也算是字节的死忠粉了。
今年秋招,别的公司基本没怎么准备,因为很早定下的目标就是字节跳动,所以提前了2个月来准备这次字节的面试,从接到面试通知,到拿到offer这个时间段内,我没有一刻是不紧张的,直到我清清楚楚地看到“录用意向书”5个大字,悬着的心才放了下去。
这次字节跳动的面试,给我的感触很深,意识到基础的重要性,这次字节共4面技术面+HR面,特分享一下这次的4面技术面真题,可能有些记不全了,但多少也能够给一些正在面试字节或计划面试字节的朋友提供帮助。
字节跳动技术一面
面问的都还比较基础,答得也还算顺利
* 说下你的实习项目吧
* 讲一下线程参数的含义
* Innodb的索引实现
* 为什么是B+树?
* Redis的使用,分布式锁的实现
* 操作系统虚拟内存换页的过程
* TCP三次握手
* volatile关键字的作用
* 乐观锁、悲观锁
* HashMap结构,是否线程安全?ConcurrentHashMap如何保证线程安全?
* 之前用过哪些设计模式?
* 算法题:滑动窗口
字节跳动技术二面
发现字节的面试官都挺年轻的,头发也没怎么秃,哈哈~
* 说一下B树和B+树的区别
* 说一下HashMap的实现,扩容机制,扩容时如何保证可操作?
* Redis扩容机制(渐进式单线程扩容)
* Spring AOP的原理
* Spring IoC的原理,如何实现,如何解决循环依赖?
* 两线程对变量i进行加1操作,结果如何?为什么?怎么解决?
* CAS概念、原子类实现原理
* synchronize底层实现,如何实现Lock?
* AQS有什么特点?
* 手写项目中某个模块代码。
* 介绍各种网络协议。
* DNS在网络层用哪个协议,为什么。
* 介绍HTTPS协议,详述SSL建立连接过程。
* 代码题:反转单链表。
* 代码题:复杂链表复制。
* 代码题:数组a,先单调地址再单调递减,输出数组中不同元素个数。要求:O(1)空间复杂度,不能改变原数组
字节跳动技术三面
算法题多到爆炸,感觉是算法专场,宇宙条果真名不虚传
* 说一下Java垃圾回收机制
* 64匹马,8个赛道,找最快的4匹马。
* 64匹马,8个赛道,找最快的8匹马。
* 给出两个升序数组A、B和长度m、n,求第k个大的
* 给出数组A,长度为n,数组中元素的值位于[0, n - 1]之间,求是否有重复元素
* 讲一下多线程与多进程区别
* JVM中什么时候会进行垃圾回收?什么样的对象是可以回收的?
* Spring主要思想是什么?
* 你未来的发展方向是什么?确定了么?打算一直做Java?有考虑过转吗?
* 那你平时是怎么学习Java的呢?
* 分享最近看的一本书
字节跳动技术四面
那天状态不佳,面试官也没有问太多问题,以为没戏了
* 场景题目:设计一个短域名服务:短信存不了太长网站,需要弄成短域名,你该如何设计一个服务,可以为全国的网址服务。
* TCP为什么是三次握手四次挥手?
* 数据库的隔离级别
* sql题,写了个连表查询外加模糊查询
* 算法:镜像二叉树 ......
字节跳动HR面
再次感叹一下,字节跳动的小姐姐又漂亮又年轻!
* 自我介绍
* 你了解字节跳动吗?说说你眼中的字节吧!
* 你平时用字节跳动的哪个产品比较多?
* 为什么想要来字节?意向城市是北京吗?
* 说一下你自己的职业规划吧
* 预期薪资
* 其他一些常规问题
总结
12月11号邮件收到信息,HR加了我微信,直接给了意向书,查收然后确认好了,确定了入职时间,非常开心。总的来说,自己如果有想要去的大公司,一定要提升好自己,让自己的能力和素质与公司匹配的上,我也一直相信,机会永远是留给有准备的人。
为了进大厂我付出了很多的努力,做了很多准备 面试题刷题不下4个月,我现在把这些资料都是整理好了喜欢底层源码的朋友可以来交流探讨。交流群:818491202 验证:88