一面(55min)
1、自我介绍+项目(由于我的专业属于通信领域的信号处理方面,所以项目问的不是很深)
2、快速排序及其复杂度(还是要掌握好8大排序算法及其复杂度)
3、HashTable和HashMap的区别
4、Linux如何查看进程id
5、Linux如何查看日志
6、进程和线程的区别
7、MySQL的多表查询(A表和B表如何连接)
8、类的构造器是什么,怎么重写
9、GC回收算法及其具体实现(可以适当介绍一下常用的垃圾回收器)
10、看过什么Java相关的书籍以及其他课外书籍
11、说说自己的优缺点(如何做好这份工作)
12、手撕代码:
(1)找出给定的两个数组的交集(保证结果数组中元素唯一,顺序无限制)
(2)给定一个数组,找出数组中满足:(arr[i] - 1)*(arr[j] - 1)最大的两个值并给出计算结果
13、反问:面试官对我的整个回答过程有什么建议?(建议不要将代码直接写进main函数中,需要将代码封装成一个函数;算法能力一般)
二面(一面过后5min,55min)
1、自我介绍+项目
2、手撕代码:链表反转(写出代码了但是结果有点问题,就让我讲讲思路)
3、针对编写的代码进行测试用例设计
4、HashTable和HashMap的区别
5、如何对微信发朋友圈的整个过程进行测试用例设计
6、如果和开发有了意见分歧,如何处理
7、为什么想做测试开发
8、单例设计模式
9、事务的4大特性
10、TCP的4次挥手(由于我不会用专业的语句描述,所以就把整个挥手的过程用FIN、ACK等相关标志位描述了一遍)
11、类加载子系统的实现过程
总结:
(1)能答多少答多少,比如事务的4大特性,我只说了4大特性及其具体特点,但是应该可以加上隔离性的分类都有哪些,再深入阐述一下,可以显得自己掌握的比较多。
(2)对于JVM相关的知识,答得还是相对比较满意的
(3)对于操作系统的知识好像不太看重,看了好多快手测开面经,操作系统基本不问或者问的都是非常基础的东西(死锁的前提、如何避免死锁、进程和线程的区别也可以归类于操作系统)
(4)看了一下别人的面经,问的问题都比我的难,感觉还是自己太菜,看来是没有hr面了,O(∩_∩)O哈哈~(苦笑)
全部评论
(9) 回帖