首页 > 字节跳动国际化客户端一面
头像
弱得很
编辑于 2020-07-28 09:48
+ 关注

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

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

全程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]]
前面那道打印结果的题没答上来,心态已经崩了,这里卡了半天,最后也没答完美,重复问题没解决。


更多模拟面试

全部评论

(8) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐