去哪儿-Java开发-一面
2024/10/15 11:45 30min
部门是基础架构部,面试官迟到了20多min,也没开摄像头
- 自我介绍
- Java集合介绍
- ArrayList 和 LinkedList都有200个元素,在第100个位置插入一个元素,哪个更快
- HashMap主要用来做什么
- HashMap是线程安全的吗?
- 如何将其变为线程安全的
- 加了分段式之后的性能如何
- Java中如何实现线程安全?
- synchronized和ReentrantLock区别
- 给一段代码,是否会输出顺序结果
```java
import java.util.concurrent.CyclicBarrier;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.atomic.AtomicInteger;
public class Main {
private static int i= 0;
private static final int NUMBER_OF_THREADS = 100; // 线程数量
private static final CyclicBarrier barrier = new CyclicBarrier(NUMBER_OF_THREADS);
public synchronized int add() {
return i++;
}
private void print(String value) {
System.out.println(value);
}
public static void main(String[] args) {
ExecutorService executorService = Executors.newFixedThreadPool(NUMBER_OF_THREADS);
Main counter1 = new Main();
Main counter2 = new Main();
for (int i = 0; i < 100; i++) {
int finalI = i;
executorService.submit(() -> {
try {
barrier.await();
if (finalI % 2 == 0) {
counter1.print("Count1:" + counter1.add());
} else {
counter2.print("Count2:" + counter2.add());
}
} catch (Exception e) {
e.printStackTrace();
}
});
}
executorService.shutdown();
}
}
```
- 开源项目介绍
- OTP码、2FA介绍及原理
- OAuth2.0中的access_token生成算法
- 秒杀业务如何保证高并发下的正确性
反问:
- 面试结果一天出吗?
- 部门介绍
#去哪儿##去哪儿求职进展汇总##去哪儿旅行秋招#
部门是基础架构部,面试官迟到了20多min,也没开摄像头
- 自我介绍
- Java集合介绍
- ArrayList 和 LinkedList都有200个元素,在第100个位置插入一个元素,哪个更快
- HashMap主要用来做什么
- HashMap是线程安全的吗?
- 如何将其变为线程安全的
- 加了分段式之后的性能如何
- Java中如何实现线程安全?
- synchronized和ReentrantLock区别
- 给一段代码,是否会输出顺序结果
```java
import java.util.concurrent.CyclicBarrier;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.atomic.AtomicInteger;
public class Main {
private static int i= 0;
private static final int NUMBER_OF_THREADS = 100; // 线程数量
private static final CyclicBarrier barrier = new CyclicBarrier(NUMBER_OF_THREADS);
public synchronized int add() {
return i++;
}
private void print(String value) {
System.out.println(value);
}
public static void main(String[] args) {
ExecutorService executorService = Executors.newFixedThreadPool(NUMBER_OF_THREADS);
Main counter1 = new Main();
Main counter2 = new Main();
for (int i = 0; i < 100; i++) {
int finalI = i;
executorService.submit(() -> {
try {
barrier.await();
if (finalI % 2 == 0) {
counter1.print("Count1:" + counter1.add());
} else {
counter2.print("Count2:" + counter2.add());
}
} catch (Exception e) {
e.printStackTrace();
}
});
}
executorService.shutdown();
}
}
```
- 开源项目介绍
- OTP码、2FA介绍及原理
- OAuth2.0中的access_token生成算法
- 秒杀业务如何保证高并发下的正确性
反问:
- 面试结果一天出吗?
- 部门介绍
#去哪儿##去哪儿求职进展汇总##去哪儿旅行秋招#
全部评论
相关推荐
11-06 12:58
武汉科技大学 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享
查看2道真题和解析
点赞 评论 收藏
分享
10-31 08:55
卡内基·梅隆大学 Java 点赞 评论 收藏
分享