一面 1h13min
问题
1.自我介绍
2.项目介绍(实现细节)
3.你项目里的对话(聊天)功能怎么测试?
4.Java怎么创建一个线程?
5.线程安全了解吗?怎么保证线程安全,避免多线程带来的风险?
6.Java反射机制了解吗?
7.Java字节码可以反编译吗?
8.了解Spring吗?
====
编程题
1.1999.09.09 0:00 ——2022.04.18 10:30 经过了几个小时?
2.判断二叉树A是否是二叉树B的子树
====
反问
====
自我总结
面试官对项目很有兴趣,会询问一些实现细节,是否可以尝试别的方法。会从你的项目中抽取一个测试问题,看你如何回答。(占大头)
对一门语言的特性理解要全面,常见操作应该实际使用过。
编程题较为基础,考察基本编程能力和数据结构。
二面 56min
问题
1.自我介绍
2.听你说用过Jmeter,简单介绍一下它是怎么用的。
3.你如何使用JUnit进行单元测试,举个例子,具体一点。
4.如何测试ArrayList的add方法
5.TCP和UDP的区别?
6.TCP拥塞控制的方法
7.了解HTTP协议吗,它有哪些方法?
8.分别在什么情况用get和post?
9.了解HTTP1.0和HTTP2.0的区别吗?
10.进程和线程的区别?
11.进程调度算法知道几种?
12.进程间通信的方式有哪些?
13.说说数据库的索引
14.什么时候适合用索引,什么适合不适合用索引?
15.设计数据库表:选课
学生选多门课
课被多个学生选
一个老师教一门课
多个老师教一门课(一门只是课程一样,并非绝对的一门)
====
编程
1.最长不重复子串
====
反问
====
自我总结
面试官对你实际测试经历有兴趣。
重点考察了计算机基础,面试官在问的时候就说“接下来我们来问问操作系统吧”,“接下来我们来看看数据库吧”。
编程题来自剑指offer,较为简单。
三面 50min
编程
1.看你二面回答了一个关于ArrayList的问题,你来实现一下ArrayList的get和add方法吧。
问题
1.ArrayList扩容时增加一个和源码增加为1.5倍你如何去测试它们的好坏?
2.你做的这些项目,你觉得哪个比较有挑战性?
3.根据项目内容提问
3.1为什么要使用websocket,轮询不行吗
3.2nginx可以做我们常用的服务器吗
3.3你对nginx的原理有了解吗
4你是如何去学习一门语言的,python和java有什么区别?
5为什么选择测试开发
6什么时候可以到岗,可以实习多久?
====
反问
===
自我总结
面试官很和蔼,根据你的面评、项目经历发问
HR面 20min
1.怎么评价面试。(回答学到了很多
2.学到了什么
3.为什么选择测试开发
4.你对测试开发的理解
5.你了解抖音电商的业务吗?
6.挑一个项目说说你遇到的挑战
7.你的期望base
8.到岗时间、实习时间
===
反问
===
自我总结
较为典型的hr问题
已offer