【字节跳动】-Java岗-4技术 + 1HR面经 已offer

背景 本科双非一本,美硕。因为时差问题,每次只能进行一轮面试,三轮面下来用了一周多,不过每次面完

很快就有了结果,可以约下一次的面试。三面的时候到了约定的时间,面试官突然有急事,所以往后推了一

天。

一轮(3.29 一小时)

面试官人非常nice,过程用讨论的形式,非常愉快。

1.自我介绍

2.聊简历

3.引入java

string为什么不可改变?

4.final修饰class 和 方法有什么作用

—class不能被继承

—方法不能重写

5.GC回收机制:描述, 算法等

6.SQL事物隔离级别,描述

7.索引(数据结构,除了hash B+)

—FullText, B-Tree, R-Tree

B+有什么特性?为啥数据都存放在后面?

—和Btree的区别,提高区间访问的性能。

Redis跳表

8.网络

输入一个网址,到界面出现,的过程。

http > tcp等等 过程描述(DNS等

9.tcp三次握手 四次挥手

10.udp有无状态

http有无状态

11.游戏是什么连接

–UDP

那如何保证可靠性?

12.算法: 有序有重复数组,给定target确定范围

二轮(4.2 一小时)

1.聊简历(指定介绍了proj,所以简历上的最好都准备一下)

2.cookie和session区别

—session如何辨别是哪个用户

3.hashmap地址冲突如何解决?

hashmap是否线程安全?为什么

4.tcp四次挥手why?

5.索引结构列举

B+tree深度 与 存储数据的关系

手写SQL:还蛮简单的表结构,用了嵌套查询 和 一些关键字(distinct group by等)

6.算法:3sum

7.扫码登录是如何实现的(其实我不会,面试官说就想听听我会怎么想,所以不会的话也要把自己的思考过程讲出来哦)

—最后提问 我问了扫码登录的实现,答案是关于长连接等等

三面(4.7 50分钟)

1.聊简历(聊了得有二十分钟

2.redis:是由项目中大量数据存储引入的redis,所以要熟知redis各种特性,有聊关于redis持久化,和redis性能方面

3.全文搜索有什么办法?(回答了fulltext,底层逻辑不清楚

4.思考题:64匹马,8个跑道,选跑最快的四匹马需要比赛多少次。

5.算法:k个一组反转链表。

四面(4.16 30分钟)

1.聊聊疫情。。

2.聊聊以后工作打算

3.场景题:长文本,提取热点词语,数据量很大如何操作

4.内存和硬盘的区别。(很意外哈哈哈

5.概率:两个人轮流抛硬币,先抛到正面的赢,问先抛的人赢的概率

6.反问:问了部门的职能和工作内容

没有刷算法,面试官应该是部门的leader,聊了很多职业规划,也给出了很多建议很有帮助。

当天下午hr联系说四面通过了,需要再内部讨论一下决定 再给通知。

许愿正式offer

家加油,努力一起上岸!

发表评论

后才能评论