📜  前 25 名面试问题

📅  最后修改于: 2022-05-13 01:57:13.538000             🧑  作者: Mango

前 25 名面试问题

以下是根据在多家公司面试的经验(我的和朋友的)收集的 TOP 25 常见问题。

1)最低共同祖先(https://www.geeksforgeeks.org/lowest-common-ancestor-binary-tree-set-1/)

2) 给出一个未排序的整数数组;您需要找到由三个数字相乘形成的最大乘积。 (不能对数组进行排序,当有负数时要小心)

3) 树的左视图 (https://www.geeksforgeeks.org/print-left-view-binary-tree/)

4)数组的反转(https://www.geeksforgeeks.org/write-a-program-to-reverse-an-array/)



5)Cache Line,Cache内部概念,RR调度

6)打印给定链表的中间(https://www.geeksforgeeks.org/write-ac-function-to-print-the-middle-of-the-linked-list/)

7)链表中元素的成对交换(https://www.geeksforgeeks.org/pairwise-swap-elements-of-a-given-linked-list/)

8) HashMap 内部结构 (http://javarevisited.blogspot.in/2011/02/how-hashmap-works-in-java.html)

9)双重检查单例(http://javarevisited.blogspot.in/2014/05/double-checked-locking-on-singleton-in-java.html)

10)工厂模式(http://javarevisited.blogspot.in/2011/12/factory-design-pattern-java-example.html)

11)以螺旋形式打印给定矩阵(https://www.geeksforgeeks.org/print-a-given-matrix-in-spiral-form/)

12) 图上的 DFS 及其表示(https://www.geeksforgeeks.org/graph-and-its-representations/,http://ideone.com/TA4ldc)



13)面向对象的概念、多态、方法重载、方法覆盖、抽象与封装的区别、聚合与组合

14) 打印链表中的第 n 个最后一个节点

15)在给定约束下删除链表中的给定节点(https://www.geeksforgeeks.org/delete-a-given-node-in-linked-list-under-given-constraints/)

16) 使用队列实现堆栈(https://www.geeksforgeeks.org/implement-stack-using-queue/)

17)查找两个矩形是否重叠(https://www.geeksforgeeks.org/find-two-rectangles-overlap/)

18) 多线程概念

19) 给定一个整数数组,用前一个和下一个整数的乘法更新索引。

e.g. Input: 2 , 3, 4, 5, 6
        Output: 2*3, 2*4, 3*5, 4*6, 5*6

20) Java使用Thread和Runnable创建线程的区别

21)hashset是如何在Java内部实现的。

22)死锁示例代码(Producer & Consumer Code)

23) 找出整数数组中不重复的数,其他数出现两次。

e.g. Input : 23, 34,56,21,21,56,78,23, 34        
     Output: 23
     Hint: USE XOR

24) 序列化和相关概念。

25) TreeSet 中的比较器

感谢 geeksforgeeks 团队提供了一个很好的平台。你们是最棒的。