Java 面试总结

文章初衷

在韩国留学后,没有关注校招,直到毕业了才开始着急,准备面试。真心是个困难事。

现在整理一下,我在面试期间的碰到的壁,走过的坑,给我的朋友们和后辈们做个分享。

面试经历

在进入我现在的公司之前参加过3次面试

主要谈谈技术面试的问题吧。

面试题型

我参加的面试不算多,但是把仅有的经验总结出来分享给大家,这几次面试中,一般是先笔试,然后和考官面对面面试。笔试问题逻辑题比较多,还有给定条件让你写代码的。

遇到过印象比较深刻的有,24小时内时针分针会相遇几次 答案是22次。

给两个input  期望output 如下,用代码实现。

Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
Output: 7 -> 0 -> 8
Explanation: 342 + 465 = 807.

时间是1个小时,之后和考官面对面面试。问题围绕笔试卷纸展开。之后还会问一些比较细节的问题,如static 和final 字段的区别等。

面试准备内容

这些是我前辈告诉我应该看一下并且有可能问到的题。大家可以过一下。

1)ArrayList, LinkedList源码理解&实现原理(自动扩容怎么达到的),ArrayList与LinkedList区别

2)HashMap/HashSet/TreeMap 源码理解,(HashMap怎么解决Hash冲突的),HashTable和HashMap区别

3)多线程中这些数据结构和concurrent包中的数据结构有什么区别,怎么实现数据安全性

多线程:

(1)threadlocal/volatile/synchronized 关键字用法

(2)ReentrantLock和synchronized的发展史和区别

算法

(1)排序算法通读

下面这个链接下的题,我感觉还算靠谱可以看一下

    http://www.importnew.com/10980.html

以上都是 对应初级程序员面试要看的。

通过跟同事的交谈得知,国内的程序员面试,比较爱扣细节, 比如某些功能的实现原理啊之类的。因此在国内大部分面试都是问原理这样的东西。这些一般不看源码是不会知道的。不过作为一个学生来说,没有接触过的架构,数据结构是不太会有时间去深挖原理的。也许这就是校招和社招的区别?

还有一个比较适合长期准备面试的题库 LeetCode.com , 这个网站有很多算法题,其中前150道是最经典的,也是最值得去做的。如果有时间一定要刷1-2遍,面试时会出现原题的。 我在面试过程中就遇到过里面第二道题。


实际遇到过得面试题

计算机结构相关

    cache 是什么,都有什么类,区别,作用

数据结构相关

    1> 正序与倒序 二叉树能否推出整个树

    2> 0-100个数 少一个 如何确定少的那个是谁, 你的算法复杂度

    3> Arraylist 和Linked list 的区别

    4>HashMap 的原理

多线程相关

    1>多线程的同步机制

目前记录下来的只有这些,会慢慢整理的

    

面试官推荐书目

优先级从上到下依次降低

《Java编程思想》好厚的书 啊根本就没有想读的想法

《Java虚拟机》

《Java核心技术》

《Spring实战》

《Effective Java》主要讲技巧

《Java开发实践》

猜你喜欢

转载自blog.csdn.net/pcjdpcq/article/details/79703784