初级Java工程师面试准备
1、适合人群:应届计算机毕业生和Java初学者
2、知识储备,掌握以下知识或相关知识即可面试这一岗位
Java基本语法知识
Java面向对象知识
JSP与基本前端知识
数据库(Oracle,MySql)一种或多种基础知识
Servlet知识
3、面试经验:
完整的展示自己所学的全部知识
证明自己潜力
证明自己与众不同
不要自卑和自负
Java基础必须要掌握的知识点
1、Java关键字及功能
所有Java关键字都是小写的
true,false,null不是严格意义上的关键字,而是文字常量
goto和const是保留关键字,Java中没有使用
2、Java数据类型
8种基本数据类型
3种引用数据类型:类,接口,数组
8中基本数据类型对应的包装类,能被final修饰,但不能被继承
String和StringBuffer类也是被final修饰的
基本数据类型:
第一类:整型-->byte short int long
第二类:浮点-->float double
第三类:逻辑-->boolean
第四类:字符-->char
(基础数据类型在栈,里面直接分配内存,而引用数据则是通过堆里的对象来对栈中的内容进行引用)
基本数据类型由低级到高级分别为:(byte、short、char)-> int -> long -> float -> double
(此处的“级别”是指表示值的范围的大小)
题目:switch语句能否作用在byte上,能否作用在long上,能否作用在String上?
答:在switch(expr1),expr1只能是一个整数表达式或者枚举常量(更大字体),整数表达式可以是int基本数据类型或者int的包装类Integer,由于byte,short,char都可以隐式转换为int,所以这些类型以及他们的包装类也是可以用switch的。显然,long和String类型都不能被隐式转换为int类型(long可以强制转换为int,但是会丢失精度),所以他们不能作用于swtich语句中
题目:Short s1 = 1;s1 = s1 + 1;有什么错?Short s1 = 1;s1 += 1;有什么错?为什么?
3、Java基本运算符
Java基本运算符的优先级
运算符操作过程中的类型转换问题
单目、双目、三目运算符的划分
4、Java程序流程控制
三种执行方式:顺序结构,选择结构,循环结构
条件选择局域:if...else,switch...case
循环语句:while,do...while,for
5、Java数组
数组的申明:一维,二维
数组初始化:静态,动态
动态初始化数组必须给长度,不然报错
动态初始化二维数组,可以只给一维长度
数组包含元素是引用数据类型,前面已经说了申明是引用数据类型,必须,为每个元素都实例化,否则空指针
Java基础题面试陷阱
1、浮点运算陷阱:float和double都不能进行精确运算,而要使用BigDecimal类解决
2、自增自减运算符陷阱:
int i = 0;
for (int j = 0; j < 100; j++) {
i = i++;
}
System.out.println(i);
执行了100次,i等于? 答:i = 0;这个畜生jvm是i++后把之前的那个i赋值给i,i还是0...
3、字符与字符串陷阱:
System.out.println("a" +"b");-->ab
System.out.println('a' +'b');-->195
System.out.println("a" +'b');-->ab
System.out.println('a' +"b");-->ab
4、返回与退出陷阱:
return与try...catch语句 -->return之前会执行finally
exit()函数与try...catch语句 -->直接结束,不管finally
Java面试案例:
1、之前已经展示过的题目
2、Error和exception的区别
3、Java中的异常处理机制的原理
4、final,finally,finalize的区别
5、什么时候使用assert断言
Java面向对象必需掌握的知识点
1、面向对象特点:封装、继承、多态
2、面向对象设计有点:可重用性,可扩展性,可管理性
3、类与对象特征要知道:
类与对象的概念
类方法的特点
匿名对象:对象方法只能调用一次可以用匿名对象
构造函数与构造代码块:前者是给对象初始化用的,后者是给所有对象初始化用的
接口:接口与抽象类的区别
Object类
4、变量相关知识:
成员变量与局部变量:成员变量在对象堆内存,局部变量在栈内存中
实例变量与类变量:实例变量随对象创建存在堆内存中,类变量随方法创建而存在方法区中
静态变量:static关键字
变量生命周期:
5、面向对象面试案例
Overload与Override的区别?
abstract class和interface有什么区别?
JSP与Servlet必需掌握的知识点
1、JSP相关
Tomcat相关知识:需要了解基本配置以及目录结构
JSP执行过程
JSP页面构成元素:静态内容HTML,指令,表达式,声明,动作,注释
JSP注释:
静态和动态include
JSP标准标签库
·JSP九大内置对象
2、Servlet相关
·EL表达式
·JavaBean
·Servlet的生命周期
·Javax.servlet.jsp.tagext包中的类
·Session与cookie
·XML的基本概念与使用方法
·MVC的处理过程:比较重要
3、JSP与Servlet案例
·GET与POST的区别?
·Session与Cookie的区别?甚至可以加上与Request的区别
·Servlet的生命周期?
·Servlet上下文对象理解
·jsp有哪些内置对象?作用分别是?
·jsp有哪些动作?作用分别是?
·jsp中动态include与静态include的区别?
·include指令与include动作的区别?
·jsp与servlet的区别?
数据库必须掌握的相关知识点
1、数据库相关
·一种数据库的安装、配置和使用
·数据库账号的管理
·ddl,dml操作
·索引
·sql基本语句
2、sql相关
·sql增删改查基本操作
·sql的条件查询
·order by
group by和having
子查询
3、JDBC相关
jdbc连接数据库的过程
jdbc结果集操作
jdbc事务
4、数据库相关面试案例
如何优化sql执行效率?
事务是什么?概念,特点
Java中如何创建一个JDBC连接?
你见过的或者说你知道的JDBC异常有哪些?
(PS:每一类知识点都是面试Java初级开发工程师经常会问到的,当然不是说一定要每个面试问题都答上来才算的上是一个合格的Java初级工程师,上面所列的也只是希望能帮助到应届生或者说初学者,检验一下自己对于JavaWeb的掌握程度,以及为那些想学习Java开发的朋友提供一个方向)
作者:Slarker
来源:CSDN