记第二次面试经历——Java实习生面试
距离上一次面试也有将近一个月了。按照惯例,养成良好的习惯,以后每次面试后我都会写一篇博文记录一下经历,以此找出自己的不足,努力提升自己。
一、笔试部分
笔试限定一小时内完成,题目不多,有简答、建表题、选择题等。
1、数组有没有 length() 这个方法? String 有没有 length() 这个方法?
数组没有 length() 方法!!只有length属性!输出数组的元素个数!(我答错了)
String 有 length() 方法,输出字符串长度。(null时会报空指针异常)2、什么是内存泄露?在编码过程中要注意哪些因素以防止内存泄露?
内存泄漏指由于疏忽或错误造成程序未能释放已经不再使用的内存。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,导致在释放该段内存之前就失去了对该段内存的控制,从而造成了内存的浪费。 ——维基百科
对象已经没有被应用程序使用,但是垃圾回收器没办法移除它们,因为还在被引用着。
参考文章:https://www.jianshu.com/p/54b5da7c68163、简述 Java Server Page 和 Servlet 的区别和联系。
4、请写出“不用中间变量”交换两个数的实现过程
1
2
3a = a + b;
b = a - b;
a = a - b;5、柏拉图学园的门口竖着一块牌子“不懂几何者不得入内”。这天,来了一群人,他们都是懂几何的人。如果牌子上的话得到准确的理解和严格的执行,那么以下断定中,只有一个是真的断定,这一真的断定是:
A. 他们不可能被允许进入
B. 他们一定不会被允许进入
C. 他们一定会被允许进入
D. 他们可能不会被允许进入6、XML文档定义有几种形式?解析XML文档有哪几种方式?
XML文档定义分为DTD和Schema两种形式.
1、DOM解析;2、SAX解析;3、JDOM解析;4、DOM4J解析。
参考文章:https://blog.csdn.net/xinyuan_java/article/details/661001967、如果现在你准备为公司做这样一个员工工资系统,公司现有如下待遇类别:通信补助、住房补助、交通补助、Blablabla…. 这些待遇的金额每个月会随着员工的业绩而有不同变化(具体变化规则我们不关心),而且每位员工能享受到的待遇类别也不同。随着公司的发展,以后可能还会有更多的待遇类别。设计一个存放待遇类别的表,并要求支持以后待遇类别的动态添加和删除。
8、前端题(略)
大概就是给你一段前端代码,包含一些Javascript,让你描述它的页面效果。9、构造一个 ArrayList 类的实例,哪个方法正确?
1
2
3
4A. ArrayList list = new Object();
B. List list = new ArrayList();
C. ArrayList list = new List();
D. List list = new List();10、下列数组初始化正确的是:
1
2
3
4A. int[5] a = {1,2,3,4,5};
B. int[2][2] a = {{1,2},{3,4}};
C. int[][] a = {{2,3,4,5}, new int[3]};
D. int[][] a = new int[][5];11、下面的程序名为 Student.java
1
2
3
4
5
6
7
8
9
10
11public class Student {
private String name;
public Student(String name) { //1
this.name = name; //2
}
public static void main(String[] args) {
Student student = new Student(); //3
}
}使用如下命令编译:
javac Student.java
将会得到什么结果?
A. 将会顺利通过编译,并将产生一个 Student.class 的类文件。
B. 编译时将在//3处出错
C. 编译时将在//2处出错
D. 编译时将在//1处出错
二、面试部分
分为HR面和技术面,跟HR聊得很开心,甚至聊到吃鸡去了… 技术面的时候气氛有点压抑,主要是询问自己做过的项目,但是由于自己太紧张导致有时候大脑空白,还把自己做过的项目弄混了,东一套西一套,真想给自己一巴掌。
问了公钥跟私钥的区别,还问了关于 Spring 的事务的配置,由于很久没碰也忘的差不多了,我那个恨啊。
三、总结
要好好去复习一下基础,另外要提前做好各种被问到的问题的可能,不能太紧张。。。另外算法能力有待提高。。。自己对这次的表现不是很满意,希望下次能做的更好!