字节跳动后端开发日常实习生一~三面记录

前言

前半个月的字节面试经历,在这里当作日志记录一下,冲冲冲!!!

一面

1.自我介绍
2.简述一下项目
3.说一下String是可变还是不可变的,为什么不可变,有没有什么方式让它可变
4.熟悉反射吗,反射能让String可变吗 (这里没答的对,答的不可以,应该是可以的)
5.平时会使用哪些集合类
6.说说hashmap和linkedhashmap的区别
7.说说arraylist和linkedlist的区别和使用场景
8.hashmap是线程安全的吗
9.如何让hashmap线程安全
10.你对线程安全的理解是什么,为什么会出现线程安全问题
11.java里有哪些机制保证线程安全(答了synchronized、aqs、volatile、原子类)
12.刚刚提到synchronized锁升级,说说锁升级的过程
13.说说jvm的内存模型,就是程序运行的时候jvm是怎么样的(说了jvm运行的时候jvm栈、程序计数器、堆、方法区、本地方法栈的作用,最后提到了垃圾回收)
14.刚刚说到垃圾回收,说说垃圾回收的过程,比如对象是怎么存放的
15.为什么要使用单例模式
16.单例模式有哪些,哪些是线程安全的,哪种单例模式是完全安全的
17.spring中哪里用到了代理模式(答了AOP的动态代理,后面面试官想问动态代理和静态代理的区别又没问了)
18.mysql有哪些索引
19.innodb索引底层的数据结构
20.b树和b+树的区别
21.聚簇索引和非聚簇索引
22.什么是回表
23.什么情况下不用回表(在面试官的提示下以为是最左匹配原则,其实面试官说的是索引覆盖…)
24.tcp的握手过程
25.http和https的区别
26.平时是怎么用redis的
27.hyperloglog的使用场景,什么时候不能使用它
28.hyperloglog有什么优点,为什么用它(有两个 速度快和体积小,当时只想起了速度快)
29.算法题:找到链表的倒数第n个节点

二面

1.自我介绍
2.把面试官当作啥都不知道的人介绍自己的项目包括内容和分工(漂流瓶)
3.详细说说漂流瓶的抛和捞的过程
4.然后问了一堆redis在项目中很多的漏洞和解决方法
5.java中有哪些线程池(只记得一个单线程的线程池了,其他的不记得了)
6.说说怎么自定义线程池,各个参数的作用
7.项目中遇到了什么难点,怎么解决的
8.遇到一个新技术,怎么去进行学习的
9.(简历上说了建了索引然后查询速度变快了啥的)问是怎么建的
10.说说索引覆盖
11.如果有个性别字段,需不需要建索引
12.项目中用的什么存储引擎(innodb)
13.innodb的事务隔离级别有什么
14.幻读是什么,为什么为产生幻读
15.项目中用的什么垃圾回收器(答的新生代用的ParrallelNew,老年代用的CMS(乱说的,不记得其他的了))
16.CMS进行垃圾回收有几个阶段(初始标记、并行标记、最终标记、垃圾回收)
17.CMS在哪个阶段会产生STW
18.CPU利用率很高,要怎么排查
19.给你一个接口,这个接口突然变慢了,怎么排查
20.算法题:给你一个有序数组和目标值,找到目标值的位置如果存在的话,不存在就找到插入的位置(T_T,二分查找不熟练,最后一个bug没改完,面试官说不用了)leetcode35

三面

1.自我介绍
2.用了springboot,说说用什么格式接收数据的(一开始没明白啥意思,后面引导说json)
3.问了些项目相关的操作
4.漂流瓶文件是怎么传输的
(一开始贼紧张答成了TCP连接,面试官说哦?你写了socket来传输文件?,后面捋了一下说的http)
5.http的数据结构
(不是很明白啥意思,说了下http的body里传了些啥,header的字段啥的都忘记了)
6.A a = new A()
(问题是啥不记得了,好像是内存分配,反正当时我没理解,以为问的是一个A对象new出来占的内存,我就答得对象头啥的,加起来占16个字节(我对这个也记得不清了)…面试官没get到,现在想想可能是问的内存分配,后面问了一下对象是在堆还是在栈上就过去了这个问题)
7.设计一个定时任务(比如一个function),比如像闹钟之类的,要怎么实现
(我说的启动一个线程然后进行sleep,sleep完之后执行这个function,然后问如果很多任务怎么办?我说用线程池,把function放在阻塞队列里,然后问这些任务要怎么存放,用什么样的数据结构?我说放数据库里,按时间进行一个排序,数据结构用二叉排序树,然后问时间复杂度,然后我又说链表,问时间复杂度,我说最小堆,问时间复杂度(给自己挖坑…),后面沉默了一分钟,我说hashmap,面试官说哦?key是什么,value是什么?我就贼忐忑,说key是时间,value是function,面试官问那如果时间相同怎么办,我当时没get到,以为说的hash冲突了怎么办,现在想想我觉得可以把value设置成一个任务队列)

总结

三面真是没准备好,看了别人的三面,以及二面问过项目了,没想到三面还会再问哈哈哈哈,面试官在我自我介绍后的第一个问题就让我整个人都傻了,后面就一直不在状态,一直get不到面试官想让我答什么,也是我自己功力不够害,很感谢放我过了💪

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值