java面试笔试题收集

转载过来看看。。。。java

J2SE基础算法

1. 九种基本数据类型的大小,以及他们的封装类。编程

2. Switch可否用string作参数?设计模式

  能够数组

3. equals与==的区别。缓存

4. Object有哪些公用方法?网络

 

5. Java的四种引用,强弱软虚,用到的场景。数据结构

  强:一般状况下都是,不会被回收多线程

  弱:内存紧张时会回收,能够用于缓存并发

  软:检查到即回收,能够用于缓存

  虚:几乎和没有引用同样,适用于跟踪对象的回收

6. Hashcode的做用。

7. ArrayList、LinkedList、Vector的区别。

8. String、StringBuffer与StringBuilder的区别。

9. Map、Set、List、Queue、Stack的特色与用法。

10. HashMap和HashTable的区别。

11. HashMap和ConcurrentHashMap的区别,HashMap的底层源码。

12. TreeMap、HashMap、LindedHashMap的区别。

13. Collection包结构,与Collections的区别。

14. try catch finally,try里有return,finally还执行么?

15. Excption与Error包结构。OOM你遇到过哪些状况,SOF你遇到过哪些状况。

16. Java面向对象的三个特征与含义。

  封装、继承、多态

17. Override和Overload的含义去区别。

18. Interface与abstract类的区别。

19. Static class 与non static class的区别。

20. java多态的实现原理。

21. 实现多线程的两种方法:

22. 线程同步的方法:sychronized、lock、reentrantLock等。

23. 锁的等级:方法锁、对象锁、类锁。

24. 写出生产者消费者模式。

25. ThreadLocal的设计理念与做用。

26. ThreadPool用法与优点。

27. Concurrent包里的其余东西:ArrayBlockingQueue、CountDownLatch等等。

28. wait()和sleep()的区别。

29. foreach与正常for循环效率对比。

30. Java IO与NIO。

31. 反射的做用于原理。

32. 泛型经常使用特色,List<String>可否转为List<Object>。

33. 解析XML的几种方式的原理与特色:DOM、SAX、PULL。

34. Java与C++对比。

35. Java1.7与1.8新特性。

36. 设计模式:单例、工厂、适配器、责任链、观察者等等。

37. JNI的使用。

  Java Native Interface:

提示:

Java里有不少很杂的东西,有时候须要你阅读源码,大多数可能书里面讲的不是太清楚,须要你在网上寻找答案。

推荐书籍:《java核心技术卷I》《Thinking in java》《java并发编程》《effictive java》《大话设计模式》

 

JVM

1. 内存模型以及分区,须要详细到每一个区放什么。

2. 堆里面的分区:Eden,survival from to,老年代,各自的特色。

3. 对象建立方法,对象的内存分配,对象的访问定位。

4. GC的两种断定方法:引用计数与引用链。

5. GC的三种收集方法:标记清除、标记整理、复制算法的原理与特色,分别用在什么地方,若是让你优化收集方法,有什么思路?

6. GC收集器有哪些?CMS收集器与G1收集器的特色。

7. Minor GC与Full GC分别在何时发生?

8. 几种经常使用的内存调试工具:jmap、jstack、jconsole。

9. 类加载的五个过程:加载、验证、准备、解析、初始化。

10. 双亲委派模型:Bootstrap ClassLoader、Extension ClassLoader、ApplicationClassLoader。

11. 分派:静态分派与动态分派。

 提示:

JVM相关问题仍是比较固定的,内存模型和GC算法这块问得比较多,能够在网上多找几篇博客来看看。

推荐书籍:《深刻理解java虚拟机》

 

操做系统

1. 进程和线程的区别。

2. 死锁的必要条件,怎么处理死锁。

3. Window内存管理方式:段存储,页存储,段页存储。

4. 进程的几种状态。

5. IPC几种通讯方式。

6. 什么是虚拟内存。

7. 虚拟地址、逻辑地址、线性地址、物理地址的区别。

推荐书籍:《深刻理解现代操做系统》

 

TCP/IP

1. OSI与TCP/IP各层的结构与功能,都有哪些协议。

2. TCP与UDP的区别。

3. TCP报文结构。

4. TCP的三次握手与四次挥手过程,各个状态名称与含义,TIMEWAIT的做用。

5. TCP拥塞控制。

6. TCP滑动窗口与回退N针协议。

7. Http的报文结构。

8. Http的状态码含义。

9. Http request的几种类型。

10. Http1.1和Http1.0的区别

11. Http怎么处理长链接。

12. Cookie与Session的做用于原理。

13. 电脑上访问一个网页,整个过程是怎么样的:DNS、HTTP、TCP、OSPF、IP、ARP。

14. Ping的整个过程。ICMP报文是什么。

15. C/S模式下使用socket通讯,几个关键函数。

16. IP地址分类。

17. 路由器与交换机区别。

 

网络其实大致分为两块,一个TCP协议,一个HTTP协议,只要把这两块以及相关协议搞清楚,通常问题不大。

推荐书籍:《TCP/IP协议族》

 

数据结构与算法 

1. 链表与数组。

2. 队列和栈,出栈与入栈。

3. 链表的删除、插入、反向。

4. 字符串操做。

5. Hash表的hash函数,冲突解决方法有哪些。

6. 各类排序:冒泡、选择、插入、希尔、归并、快排、堆排、桶排、基数的原理、平均时间复杂度、最坏时间复杂度、空间复杂度、是否稳定。

7. 快排的partition函数与归并的Merge函数。

8. 对冒泡与快排的改进。

9. 二分查找,与变种二分查找。

10. 二叉树、B+树、AVL树、红黑树、哈夫曼树。

11. 二叉树的前中后续遍历:递归与非递归写法,层序遍历算法。

12. 图的BFS与DFS算法,最小生成树prim算法与最短路径Dijkstra算法。

13. KMP算法。

14. 排列组合问题。

15. 动态规划、贪心算法、分治算法。(通常不会问到)

16. 大数据处理:相似10亿条数据找出最大的1000个数.........等等

 

算法的话实际上是个重点,由于最后都是要你写代码,因此算法仍是须要花很多时间准备,这里有太多算法题,写不全,个人建议是没事多在OJ上刷刷题(牛客网、leetcode等),剑指offer上的算法要能理解并本身写出来,编程之美也推荐看一看。

推荐书籍:《大话数据结构》《剑指offer》《编程之美》

相关文章
相关标签/搜索