先说一句:面试官上来强调本人不是学java的,次要探讨为主,可是我发现面试官问的问题一点都不像没学过java~
共面了1小时40分钟

1.java垃圾回收机制
新生代/老年代 其它垃圾回收机制
2.java面向对象个性
继承
封装
多态
3.设计模式

4.单例模式

5.map的底层实现

6.hash函数如何实现

7.哈希抵触的解决办法
再哈希
建设公共缓冲区

8.hashmap查问复杂度/升高复杂度办法

9.hashmap线程不平安

10.juc中的concurrentHashmap如何保障线程平安

11.罕用的汇合类型
arraylist
linkedlist
12.arrayList和linkedList区别

13.链表中如何使查问速度更快
建索引?
14.晓得哪些本地缓存?redis?lru?

15.计算机网络七层模型

16.浏览器每一个标签页都是一次tcp连贯吗

17.http和https的比拟

18.https加密算法是对称的还是非对称的?

19.TCP三次握手四次挥手

20.伪造第三次握手,如何保障?

21.syn攻打?还是什么攻打?

22.TIME_WAIT作用

23.多路复用、epoll办法的长处 存储连贯的是链表吗
select poll epoll
24.过程和线程

25.线程间通信

26.过程间通信

27.共享内存是在A过程中还是B过程?
应该都不是
28.线程间同步

29.sychronized和RetrantLock异同点

30.乐观锁和乐观锁,他们的效率

31.每次申请都是对锁的一个批改,两种策略效率如何

32.排序算法及各自的最好最坏复杂度及稳定性

33.归并排序和疾速排序的算法思维
分治
34.疾速排序的最坏状况,如何扭转

35.雷同的子问题能够用分治法,那不同的子问题?

36.最初一题算法题
牛客网本题探讨链接
小Q在进行一场竞技游戏,这场游戏的输赢要害就在于是否抢夺一条长度为L的河道,即能够看做是[0,L]的一条数轴。
这款竞技游戏当中有n个能够提供视线的道具--真视守卫,第i个真视守卫可能笼罩[xi,yi]。当初小Q想晓得至多用几个真视守卫就能够笼罩整段河道。

输出形容:
输出包含n+1行
第一行包含两个正整数n和L(1<=n<=10^5,1<=L<=10^9)
接下来的n行,每行两个正整数xi,yi(0<=xi<=yi<=10^9),示意第i个真视守卫笼罩的区间
输入形容,一个示意起码须要的真视守卫数量,如果无解,输入-1。

样例:
输出:
4 6
3 6
2 4
0 2
4 7
输入
3

import java.util.Arrays;import java.util.Scanner;public class Main {    public static void main(String[] args) {        Scanner input = new Scanner(System.in);        int n = input.nextInt();        int L = input.nextInt();        int[][] nums = new int[n][2];        int ce = 0;        while (ce < n) {            nums[ce][0] = input.nextInt();            nums[ce][1] = input.nextInt();            ce++;        }        System.out.println(guidenum(nums, L));    }    public static int guidenum(int[][] nums, int L) {        int count = 0;        Arrays.sort(nums, (a, b) -> a[0] - b[0]);        int start = 0, end = 0;        for (int i = 0; start < L; ) {            for (; i < nums.length && nums[i][0] <= start; i++)                end = Math.max(end, nums[i][1]);            if (start == end) {                return -1;            }            start = end;            count++;        }        return count;    }}