字节跳动国际化客户端一面

面试官人很好,很温柔,正式批一定还会来😭

全程1小时3分钟48秒
1.自我介绍
2.项目相关
3.给了几行代码
Map<Integer,String> map = new HashMap<>();
for(Integer i = 0; i < 200; i++){
    map.put(i,String.valueOf(i));
    map.remove(i - 1);
}
System.out.println(map.size());
问打印结果
4.HashMap的remove时间复杂度,HashMap和HashTable区别,HashTable和ConcurrentHashMap性能比较,为什么ConcurrentHashMap性能更好
5.从虚拟机的角度解释Java为什么会存在线程安全问题
6.对于JMM内存模型的理解
7.讲一讲CPU的高速缓存,为什么需要高速缓存
8.手写DCL单例
9.为什么要加volatile,volatile做了什么事(可见性和有序性,展开了说)
10.synchronized关键字做了什么事,jdk8有什么优化,自旋锁的好处
11.如果要等待多个线程全部结束再往下执行,用哪些工具?(答Semaphore、CountdownLatch)
12.给了类似下面的程序
class Singleton {
	private static Singleton singleton = new Singleton();
	public static int count1;
	public static int count2 = 0;
	public int count3;

	static {
		count1 = 0;
		count2 = 0;
	}

	private Singleton() {
		count1++;
		count2++;
		count3++;
	}

	public static Singleton getSingleton() {
		return singleton;
	}

	public static void main(String[] args) {
		Singleton singleton = Singleton.getSingleton();
		System.out.println("count1:" + count1);
		System.out.println("count2:" + count2);
		System.out.println("count3:" + singleton.count3);
	}
}
问打印的结果是什么?(记不太清具体代码了,但意思是这个意思,能答上来这道题,原题也肯定能答上来,反正我没答上来)
13.类什么时候加载
14.启动一个java程序的过程哪个类加载器会参与
15.平时用电脑,一瞬间打开很多程序,电脑很卡的原因是什么
16.操作系统中互斥量和信号量的区别
17.对于linux的线程和进程的理解
18.对于轻量级进程的理解
19.为什么要有内核空间和用户空间?
20.linux内存布局?(代码段数据段这些,从下往上讲)
21.讲一讲memory map
22.进程间通信方式
23.管道是如何运行的
24.在浏览器输入https的网址回车后到显示画面,中间发生了什么,越详细越好
25.http状态码,4xx和5xx的区别
26.Tcp的keepalive和Http的keep-alive的区别
27.http 1.0和1.1的区别,连接复用是怎么复用的?
28.算法题
给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。
注意candidates 中的每个数字在每个组合中只能使用一次。
说明:
所有数字(包括目标数)都是正整数。解集不能包含重复的组合。
例 1: 输入: candidates = [10,1,2,7,6,1,5], target = 8,所求解集为:[  [1, 7],  [1, 2, 5],  [2, 6],  [1, 1, 6]]
例 2: 输入: candidates = [2,5,2,1,2], target = 5,所求解集为:[  [1,2,2],  [5]]
前面那道打印结果的题没答上来,心态已经崩了,这里卡了半天,最后也没答完美,重复问题没解决。


#字节跳动##面经##校招##Java工程师#
全部评论
12题答案是啥呀,有大佬说一下吗
点赞 回复 分享
发布于 2021-07-16 21:36
求二面面经~
点赞 回复 分享
发布于 2021-07-14 20:29
请问楼主二面还会写面经吗😃
点赞 回复 分享
发布于 2020-08-04 09:02
字节面试题果然营养丰富啊!祝好运!另外请问楼主简历上有没有写实习项目,有的话写的啥项目?
点赞 回复 分享
发布于 2020-07-28 16:28
楼主是什么项目?面的安卓吗
点赞 回复 分享
发布于 2020-07-28 09:42
21题是怎么回答的,求解
点赞 回复 分享
发布于 2020-07-28 09:25
我个人觉得最后一道题用回溯
点赞 回复 分享
发布于 2020-07-28 00:13
这不挺好的嘛。问了这么多问题
点赞 回复 分享
发布于 2020-07-28 00:01

相关推荐

bg双非本科,方向是嵌入式。这次秋招一共拿到了&nbsp;8&nbsp;个&nbsp;offer,最高年包&nbsp;40w,中间也有一段在海康的实习经历,还有几次国家级竞赛。写这篇不是想证明什么,只是想把自己走过的这条路,尽量讲清楚一点,给同样背景的人一个参考。一、我一开始也很迷茫刚决定走嵌入式的时候,其实并没有一个特别清晰的规划。网上的信息很零散,有人说一定要懂底层,有人说项目更重要,也有人建议直接转方向。很多时候都是在怀疑:1.自己这种背景到底有没有机会2.现在学的东西到底有没有用3.是不是已经开始晚了这些问题,我当时一个都没答案。二、现在回头看,我主要做对了这几件事第一,方向尽早确定,但不把自己锁死。我比较早就确定了嵌入式这个大方向,但具体做哪一块,是在项目、竞赛和实习中慢慢调整的,而不是一开始就给自己下结论。第二,用项目和竞赛去“证明能力”,而不是堆技术名词。我不会刻意追求学得多全面,而是确保自己参与的每个项目,都能讲清楚:我负责了什么、遇到了什么问题、最后是怎么解决的。第三,尽早接触真实的工程环境。在海康实习的那段时间,对我触动挺大的。我开始意识到,企业更看重的是代码结构、逻辑清晰度,以及你能不能把事情说清楚,而不只是会不会某个知识点。第四,把秋招当成一个需要长期迭代的过程。简历不是一次写完的,面试表现也不是一次就到位的。我会在每次面试后复盘哪些问题没答好,再针对性补。三、我踩过的一些坑现在看也挺典型的:1.一开始在底层细节上纠结太久,投入产出比不高2.做过项目,但前期不会总结,导致面试表达吃亏3.早期有点害怕面试,准备不充分就去投这些弯路走过之后,才慢慢找到节奏。四、给和我背景相似的人一点建议如果你也是双非,准备走嵌入式,我觉得有几件事挺重要的:1.不用等“准备得差不多了”再投2.项目一定要能讲清楚,而不是做完就算3.不要只盯着技术,多关注表达和逻辑很多时候,差的不是能力,而是呈现方式。五、写在最后这篇总结不是标准答案,只是我个人的一次复盘。后面我会陆续把自己在嵌入式学习、竞赛、实习和秋招中的一些真实经验拆开来讲,希望能对后来的人有点帮助。如果你正好也在这条路上,希望你能少走一点弯路。
x_y_z1:蹲个后续
点赞 评论 收藏
分享
评论
2
27
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务