一、背景介绍
在前一篇博客中写了面试唯品会的总结,我在面试唯品会之前还面了一下位于珠海的金山办公的测试开发,虽然最后二面就凉了。本来是在BOSS直聘上看到的金山办公的自动化测试岗位,然后投了,后面HR打电话来,说在珠海有个测试开发的岗位,问考虑不? 我觉得自己的实力还到不了测试开发的水平,但是还是尝试了一下,所以也就有了下面的面试。
二、一面
一面是
电话技术
面,最后大约聊了40分钟左右,聊的还算可以,主要就是问简历中UI自动化框架相关的东西
-
你觉得最优技术含量的一个项目,并详细介绍
这一块算是聊的比较久的,主要就是讲了UI自动化测试框架(Java+Selenium+TestNG+Jenkins )及接口自动化测试框架。说的实话大致就是按照我写博客中UI自动化相关内容来写的。测试工程师学习之路-博客目录
-
线程与进程的区别,以及他们的优势与缺陷
参考:进程与线程
进程优点:每一个进程相互独立,不影响主程序的稳定性,子进程崩溃不影响其他进程。
进程缺点:逻辑控制复杂,需要与主程序交互,多进程调度开销大。
线程优点:程序逻辑和控制方式简单 所有线程可以直接共享内存和变量等。
线程缺点:每个线程与主程序之间共用地址空间,最大内存地址受限。
总结:根据业务逻辑来使用多进程和多线程。但是比较常见的是:将处理相同任务的列为一个进程下的线程,采用多进程结合多线程的方式来开发。 -
设计模式
由于在讲到框架的时候,也就说道设计模式。主要也就说了单例模式、工厂模式这种简单的设计模式
-
和开发协作中了解到的技术
SpringBoot、Rancher、Apollo、RabbitMQ(多进程通信)
-
缓存雪崩
参考:
Redis缓存穿透:用户请求不存在的key,缓存中不存在,请求会绕过缓存直接查询数据库导致性能下降。如果用户恶意多次请求多次查询数据库将会导致后台崩溃。
Redis缓存雪崩:缓存失效期间请求将会去查询数据库,从而对数据库CPU和内存造成巨大压力,严重将造成整个系统的崩溃。 -
HTTP请求方式
-
数据库索引的结构
三、二面
二面是
技术视频
面,通过微信进行的视频面,但是 “只有他能看到我,我看不到他,这感觉就很奇妙”。然后问的内容偏开发,然后自己又比较菜,就聊了20分钟左右,最后也就凉凉
了
- Redis的数据类型
参考:Redis五种数据类型
- 简述一下Maven
关于这一块一说就比较多了,建议百度
- Java的集合,更新用ArrayList好还是用LinkedList好?
- 数据库索引,在那些字段上加上索引好?
- 使用Java的时候常用的工具类
- Docker及DockerFile