紧张的 336 小时 53 分钟 21 秒,我等来了字节跳动 offer(Java 岗)
坐标北京,某 211 本科毕业生,之前学校活动有去过字节跳动公司总部参观,所以一直以来就蛮想进入字节工作的,被字节的企业文化和工作氛围所影响。字节作为发展速度最快的互联网公司,旗下的很多产品的用户都比肩 BAT 了,所以我自己也算是字节的死忠粉了。今年招聘,别的公司基本没怎么准备,因为很早定下的目标就是字节跳动,所以提前了 2 个月来准备这次字节的面试,从接到面试通知,到拿到 offer 共 336 小时 53 分钟 21 秒,这个时间段内,我没有一刻是不紧张的,直到我清清楚楚地看到“录用意向书”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 面(再次感叹一下,字节跳动的小姐姐又漂亮又年轻!)
自我介绍
你了解字节跳动吗?说说你眼中的字节吧!
你平时用字节跳动的哪个产品比较多?
为什么想要来字节?意向城市是北京吗?
说一下你自己的职业规划吧
预期薪资
其他一些常规问题
总结
6 月 21 号邮件收到信息,HR 加了我微信,直接给了意向书,查收然后确认好了,确定了入职时间,非常开心。总的来说,自己如果有想要去的大公司,一定要提升好自己,让自己的能力和素质与公司匹配的上,我也一直相信,机会永远是留给有准备的人。
最后也分享一下我自己的一套 Java 学习资料库,大伙看看有没有需要的:
Java 核心知识点:
Java 千道面试宝典:
内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等技术栈
架构学习资料:
算法:
以上这些学习资料都能够免费分享给小伙伴们,希望能一起努力,共同进步!有需要的朋友可以点击这里即可获取到文章中的文档,资料!
评论