面试杂记(1)

来源:互联网 发布:java的用户登录界面 编辑:程序博客网 时间:2024/05/19 11:44

初学者还是建议把JDK看完吧。尤其是并发,集合,IO等几个模块。
看并发,你要学会并发控制,线程生命周期管理,怎么写出有次序高效的执行流程。
看集合,你要学会一些基本的数据结构在Java 中的用法,知道在哪种场景下,什么样的数据结构才是最适合的,学会常用的算法比如二分查找等在集合上的利用。
看IO,你要学会程序是如何对外通信的,学会需要学会语言中异常处理的艺术,知道所有的数据都是可以流动的,可传播的,顺便把网络知识也学下。

面试需要复习的内容:

基础部分:
(1) 操作系统:关于进程,内存管理
(2) 计算网络:TCP/IP三次握手,四次挥手,拥塞控制
(3) linux基础:常见命令的使用
(4) 数据结构:链表,树
(5) 基本算法
(6) 网络编程,学会程序是如何对外通信的,学会需要学会语言中异常处理的艺术,知道所有的数据都是可以流动的,可传播的,顺便把网络知识也学下
(7) 多线程
(8) 并发编程,学会并发控制,线程生命周期管理,怎么写出有次序高效的执行流程
(9) 集合:基本的数据结构在Java 中的用法,知道在哪种场景下,什么样的数据结构才是最适合的
(10) JVM
(11) Spring
(12) IO,NIO,AIO,BIO
(13) 设计模式

加分项:
(1) mq产品:kafka
(2) RPC框架:dubbo
(3) NIO框架:netty
(4) 各种序列化:json
(5) 有前端经验


  1. 子类能继承父类的所有方法和状态:可以使用反射,子类继承了父类的私有方法(不管是否有final),只是不能直接调用父类的私有方法,
    但是利用反射的方式可以调用。
  2. 面向对象的五大基本原则: 单一职责原则,开放封闭原则,里氏替换原则,依赖倒置原则,接口隔离原则
  3. Java中的锁:自旋锁,阻塞锁,可重入锁,读写锁,互斥锁,悲观锁,乐观锁,公平锁,非公平锁,偏向锁,对象锁,线程锁,锁粗化,轻量级锁,
    锁消除,锁膨胀,信号量
    http://ifeve.com/java_lock_see/
    4.B+树,B-树
    5.拓扑排序

书单
C/C++:《C程序设计语言》,《C++ Primer》,《Effective C++》,《STL源码剖析》
数据结构和算法:《算法(第4版)》,《剑指offer》,《程序员代码面试指南》
机器学习:《机器学习》(周志华),《机器学习实战》,《统计学习方法》,《推荐系统实践》
Python:《Python核心编程(第二版)》,《利用Python进行数据分析》
编程:《编程之美》,《编程珠玑》;
《数据挖掘导论》,《集体智慧编程》,《模式识别和机器学习》,《凸优化》;
《深入理解计算机系统》,《操作系统》,《计算机程序的构造和解释》,
《代码大全》,《Head First 设计模式》,《代码整洁之道》,《程序员的自我修养》。


1.安全套接字SSL
2.排序算法的比较
3.svn,maven管理编译项目
4.spring MVC
5.http/https协议
6.mysql
7.tomcat,apache,nginx
8.html,css,javascript,AJax
9,hadoop
10.正则表达式,表示数字,状态机、
11.卡特兰数的应用
12.可变参数构造器
13.消除过期引用,其中有两个内存泄漏的原因,缓存,监听器和其他回调。涉及weakHashMap,LinkedHashMap
14.排序算法,堆排序,桶排序(海量数据)。
15.Java中clone方法
16.全排列的问题
17.Random的用法
18.静态内部类
19.符合POSIX的shell
20.TimeUnit
21.Java文件读写
22.集合类
23.spring mvc
24.char–>两个字节
25,关联,聚合和组合之间的区别
26.实例工厂和静态工厂,设计模式?
27.collection. Iterator
28.HashMap的工作原理
29.Comparable和Comparator
30.排序算法的比较
31.java bean serlet ,JSP

原创粉丝点击