一开始上来自我介绍。
- 介绍下虚拟内存和物理内存,如何映射的呢?
-
tcp流量控制讲一下。根据流量控制推测出最大的流量。
-
如果服务端的机器挂了,而客户端去连接会发生什么?如果是服务端的进程挂了,客户端去连接会发生什么?
-
在java里面,final,finally,finalize它们三个有什么区别
-
举几个你用过的exception的例子
-
java中,在hashmap中放入100个元素,如果希望不发生扩容,那么一开始声明的hashmap应该多大呢?
-
什么是动态代理,有哪些使用场景?
-
算法题1(只用说思路):如果找到链表的交点(我一开始没考虑有环的情况)
- 算法题2(手撕):返回指向有序范围数组中第一个不小于(即大于或等于)指定target 的下标,或若找不到这种元素则返回 -1,时间复杂度要求O(log n)。有人说这题跟leetcode35一样,但是面试官说的是这题的元素可以重复的,leetcode是保证不会重复的。
下面是参考的代码:
public static int helper(int[] array, int target) { // 三个边界条件: 1.数组是空 2.数组长度是0 3.数组的最大的那个数都比target小 if (array == null || array.length == 0 || array[array.length - 1] < target) { return -1; } int start = 0; int end = array.length - 1; while (start < end) { int mid = (start + end) / 2; if (array[mid] >= target) { end = mid; } else { start = mid + 1; } } return start; }
全部评论
(6) 回帖