业界对程序员的分级大体有初级,中级,高级,资深等等,但并没有什么统一的标准,不同的公司要求不一样,不同的面试官不同的岗位要求也不一样。但是一些较为通用的知识点还是必须掌握,在面试过程中被提问的几率也是非常大的。下面,小编就带大家看一下合格的Java工程师要掌握哪些知识点。
基本语法:
Static,Transient,foreach循环的原理,Switch,java反射机制,单线程安全类demo,常规算法等关键字作用,至少掌握其用法和场景
Exception和Error区别
Exception是程序错误,可控或不可控,可在程序中捕获异常
Error是系统异常,不可控,可能的话可在系统中捕获异常
java.util.Date和java.sql.Date的区别及应用
java.util.Date 就是在除了SQL语句的情况下面使用
java.sql.Date 是针对SQL语句使用的,它只包含日期而没有时间部分,它都有getTime方法返回毫秒数,自然就可以直接构建。
java.util.Date 是 java.sql.Date 的父类
java.util.Date d = new java.util.Date(sqlDate.getTime());
java.util.Date d=new java.util.Date (date.getTime());
ArrayList和LinkedList的大致区别:
1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。
2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。
3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。
设计模式
设计模式在工作中还是非常重要、非常有用的,23种设计模式中重点研究常用的十来种就可以了,面试中关于设计模式的问答主要是三个方向:
(1)你的项目中用到了哪些设计模式,如何使用。
(2)知道常用设计模式的优缺点。
(3)能画出常用设计模式的UML图。