字节跳动Java暑期实习七轮面试(已offer)

非科班java选手
项目:一个Java实现的视频监控系统,一个SSM移动端项目,一个实验室算法项目
飞书-后台开发-C++/go
3.8找hr内推投递简历
3.15 一面(牛客网/46min)
1、自我介绍
2、说一说你的两个项目,简单介绍一下
3、看到你项目里面用了线程池,可以简单介绍一下线程池吗(七大参数,四大类型)
4、线程池的核心线程数大小如何确定(计算密集型为N+1,IO密集型为2N)
5、项目里面的定时任务怎么实现,如果定时五分钟,但是有一个任务需要六分钟才能执行完如何处理
6、10亿个数字,2G内存,里面怎么找最大值
7、聊聊在华为的实习中你的需求开发,DTS问题单具体情况
8、缓存了解吗,说一说本地缓存和分布式缓存都有哪些,有什么特点和区别
9、算法:
实现一个数据结构
set(std::string& key, int v);
int get(std::string& key);
del(std::string& key);
std::vector<std::pair<std::string, int>> scan(int start_time, int end_time);
set("zhangsan", 10);
set("lisi", 15):
del("zhangsan");
scan(1231, 1233);
实现一个HsahMap,但是增加一个方法可以实现找到从start_time到end_time中插入的数据
很懵逼,后来在引导中增加一个二叉搜索树,加入时间戳实现
10、算法
100个视频
10个用户
每个用户会看一些视频
对于每个视频,找到最相似的视频
(u1, v1), (u1, v2), (u2, v5)
(v1, video_list)
(v2, video_list),
类似于leetcode题目:朋友圈
3.16约了二面
3.17二面(估计比较忙,随便问了两句匆匆结束,20min)
1、项目上的亮点
2、讲一下cookies和session区别
3、怎么保证cookies不被劫持
4、TCP和UDP说一下
5、TCP三次握手
6、TCP的可靠性如何实现,TIME_WAIT和CLOESD_WAIT说一下
7、如果接受到三次ACK都没信号,直接断开连接行吗,会发生什么?

3.18约了三面
3.24三面(40min)
1、简单聊一下为什么非科班转软件
2、说一下项目里面的guava缓存,为什么要用,用在什么地方
3、你刚刚说guava缓存可以提升查找效率,直接用Map不行吗(说到了布隆过滤器,挖大坑)
4、布隆过滤器说一下原理,为什么效率高
5、Map查找的效率,布隆过滤器查找效率,比较一下,为什么不可以用Map,数学推理写一下(这里已经麻了。。。。)
6、数据量小的话不用布隆会不会好一点,数据量大为什么不用redis(心态已经不行了emmm)
7、算法
算数运算符树求结果

+
/      *
6 3  -  2
5 1
用了递归写,面试官说可以非递归吗,没想出来
3.26 hr联系我说转到了Java岗位继续面试,挂的原因还是因为三面项目问砸了,被绕进去了。。。


抖音Data-后台开发-Java
3.28 一面(牛客网/46min)
1、自我介绍
2、说一下HashMap和Hashtable、ConcurrentMap的区别
3、为什么HashMap的容量一定是2的次方(源码  n-1 & n,位运算速度快)
4、红黑树说一下,跳表说一下,那你知道什么地方用了红黑树和跳表吗
5、sql里面索引了解吗,分为哪些索引,能具体聊聊吗
6、MVCC的隔离机制,原子性怎么实现的,隔离性呢,一致性呢
7、Redis数据库和缓存一致性怎么保证
8、你知道Redis里面session共享有几种实现方式吗
9、JVM里面的几个区域,说一下GC的触发条件
10、如果我不断发生OOM,如何排查
11、算法 (leetcode560 和为k的子数组)
给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数

输入:nums = [1,1,1], k = 2
输出: 2 , [1,1] 与 [1,1] 为两种不同的情况。
先写了前缀和版本,有优化思路吗,使用map实现O(n)算法

第二天约了二面
3.30 二面(牛客网/46min)
1、说一说项目,可以具体说一下
2、知道类加载过程吗,加载器有几种,什么时候舍弃双亲委派
3、数据库用的是Mysql吗,数据库的锁有哪些,数据库的死锁是什么,产生条件,如何避免
4、数据库的三大范式
5、如何实现一个可靠UDP
6、了解Linux什么命令
7、那ping命令是什么协议
8、top命令有哪些参数,说一下
9、用linux搭建过测试环境吗,用过什么ssh连接工具
10、你能说一下了解哪些网络错误码吗
11、Lock和synchronized有什么区别,自旋和轻量级锁有什么区别,自己debug看过吗
12、你遇到问题怎么去定位
13、你在华为的日志是怎么查找的,有了bug怎么看调用链
14、多线程还有什么办法去处理冲突
15、ThreadLocal的原理和适用场景知道吗
16、说到引用,四种引用知道吗,三色法又是什么
17、算法:
实现LruMAP
interface LruMap {
public void init(int capacity);
public String get(String key);
public void put(String key, String value);
}
晚上约了三面

4.2 三面(牛客网/25min)
1、自我介绍
2、算法(类似于leetcode 276)
n个球排成1排,可以给每个球涂红色、黑色,如果3个颜色一样的球连在一起是非法的,输入n,写程序打印所有合法排列个数
动态规划,五分钟
3、继续算法
n条直线切分图形,最多有几个图形
动态规划,还是五分钟。。
4、继续算法
可能看我写的太快,又出一个动态规划,股票买卖122. 买卖股票的最佳时机 II
5、TreeMap底层说一下
6、反问

第三天约了hr面
4.8 hr面(飞书视频/20min)

1、对前面面试官评价
2、想来上海工作吗
3、有无女朋友
4、还有什么公司在面试
5、什么时候可以入职
6、聊一下你自己的经历

4.10 offer







#实习##面经##Java#
全部评论
楼主太强了 膜拜顺便吸吸好运!!!
点赞 回复 分享
发布于 2021-04-12 15:41

相关推荐

我也曾抱有希望:说的好直白
点赞 评论 收藏
分享
喜欢走神的孤勇者练习时长两年半:爱华,信华,等华,黑华
点赞 评论 收藏
分享
3 20 评论
分享
牛客网
牛客企业服务