字节后台开发一面二面三面hr面面经
回馈牛客,这几个月过的真的不容易,感谢牛客网上的大家带给我的全部,希望我的面经可以帮助到更多同学,同时也希望我男朋友能够尽快上岸,看他每天那么辛苦真的太心疼了
一面 4.7 47mins
System.out.print()
三个参数分别是什么类型: System :类 out:成员变量 print(): 成员方法
String不可变是如何做到的,为什么不可以被继承?
如何实现一个不可变类? (final修饰类,final static 修饰成员变量,不设置set函数,构造函数中实现深拷贝,get方法中返回对象的深拷贝副本)
单例模式在java中的应用场景有哪些? 单例有哪些实现的方法?
工厂模式讲一下? 应用场景?
innodb索引结构具体讲一下 b+树
有一个表叫 t_name ,四个字段 a,b,c,d id为他的主键索引
sql1:select id from t_name where a=1 and b=2;
sql2:select c from t_name where a=1 and b=2 and d=4
针对这两句,你如何创建索引? (联合索引,a b d)
这两句需要回表吗?(1不需要,id为主键索引,2需要)
操作系统:系统调度的方式有哪几种?每一种方式讲一下具体内容以及应用场景?
kill -9 pid 和 kill pid 的区别和原理?
redis 数据结构
redis的持久化方式 具体怎么实现(具体到代码)
http常见状态码说一下
3xx是什么信息
讲一下301 302 的区别
200 201 202
204
tcp的11种状态中,closing出现的场景是什么?
为什么tcp三次握手的时候的seq初始化时随机地,而不是从0开始
讲一个具体的http请求报文中的字段,比如缓存,cookies怎么设置等等(content-type content-length)
coding: 礼物的最大价值
二面 4.9 43mins
你是不是没实习过,那我问几个问题吧(感觉因为没实习所以没有刁难我)
写到编程题:一个二维数组每行均递增,每列均递增,查询某个值是否在数组里,说思路并写下来
再写一道:1*2的砖块铺 2xn的砖块有多少种铺法?
100亿个正整数数据,找出最小的100个数
小顶堆,一个一个读入内存,复杂度多少?
还有什么方法比小顶堆的复杂度更低?
用一个长度为42亿的数组,下标即为该值,对应下标位置存储元素出现次数,然后找出前100个
操作系统:讲一下什么是缺页中断?
操作系统中:同一进程中的线程共享哪些资源?
进程切换和线程切换讲一下?(用户态->内核态blah)
讲一下HTTPS
HTTPS是怎么加密的? 非对称加密已经很安全了,为什么还要用混合加密(混合加密一定要看,看懂,我没看懂,所以说的不好)
MySQL为什么要用B+树(说重点:比如将节点大小设置为一页,这样每次磁盘I/O可读入一个节点;还有叶子节点用指针相连,而平衡树找到一个节点后,需要按照中序遍历才能查找到下一个节点)
Redis平时用吗? 不用,那我不问了,我看你简历上写了
CAS讲一下,CAS是怎么实现的,为啥他有ABA问题还要用它?(CAS是通过Unsafe类实现的),那再底层呢?(说了乱七八糟的)
三面 4.13 40mins
1.把数字转化成中文,比如1003->一千零三
2.我们在用牛客视频的时候,用到哪些协议?
3.你解决的最大困难是什么?
HR面 4.15 15mins
1.问了入职时间
2.为什么转开发?
3.遇到困难时怎么解决的?
4.会求助他人吗?
5.没问啥,说了一下薪资,然后说offer这两天会发过来
4.16
收到字节的offer啦~ 去了最想去的公司,太幸福了
希望大家都可以上岸
#后端实习面经##字节跳动##Java工程师##实习##招聘进度#