近期,霍格沃兹测试学院的 @T同学 面试了某知名互联网大厂测试开发岗位,面试过程中遇到不少令人头疼的题目,心态也随之起伏。虽然最终通过三面,拿下高薪
Offer,但也直呼刺激。
本文是其复盘总结的部分面试真题,分享出来供各位测试小伙伴学习参考。看看下面这些题目,你可以回答出多少呢?
一面
面试官应该是团队的某位技术大佬,一脸理工男的严肃,令人感到鸭梨很大。
- 简单介绍一下自己;
- 自动化测试框架怎么去实现的?
- 讲讲自动化性价比等一些业界常见问题;
- Java 中的基类是什么?基类中常用的方法有哪些?(我提到了
getClass()
,所以面试官问 getClass 方法用来做什么?) - Redis 的数据类型有哪些?
- 了解 Redis 的数据持久化吗?
- Spring Web 的开发有了解吗?
- 多线程了解吗?讲解一下多线程常用的关键字;
- Hashmap 的 put 方法具体是怎么实现的,讲讲过程?
- Hashmap 是线程安全的吗?为什么不是线程安全的呢?
- 除了使用 sychronized 关键字来解决线程安全问题,还有其他什么关键字吗?
- 线程池中三个重要的参数是什么?
- 你知道有哪些索引?索引为什么会失效?
- 讲讲数据库事务的四大特性?
- 讲讲数据库的事务的隔离级别?
- 讲讲数据库的事务传播级别?
- 数据库 SQL 题目
班级表t1:stuid, class
成绩表t2: stuid,sub,grade
统计:
每个班上同学总分>500的人数;
- 算法题目
设计 LRU,但题目太长看不懂,所以面试官换了一道简单一点的题目——设计 LRU 缓存结构。
语言:C、Python、C++、Javascript、Python3、Java、Go 皆可。
设计 LRU 缓存结构,该结构在构造时确定大小,假设大小为K,并有如下两个功能
- set(key, value):将记录(key, value)插入该结构
- get(key):返回key对应的value值
[要求]
- set 和 get 方法的时间复杂度为O(1)
- 某个 key 的 set 或 get 操作一旦发生,认为这个 key 的记录成了最常使用的。
- 当缓存的大小超过 K 时,移除最不经常使用的记录,即 set 或 get 最久远的。
- 若 opt=1,接下来两个整数 x, y,表示 set(x, y)
- 若 opt=2,接下来一个整数 x,表示 get(x),若x未出现过或已被移除,则返回-1
- 对于每个操作 2,输出一个答案
[示例1]
输入
[[1,1,1],[1,2,2],[1,3,2],[2,1],[1,4,4],[2,2]],3
输出
[1,-1]
说明
- 第一次操作后:最常使用的记录为("1", 1)
- 第二次操作后:最常使用的记录为("2", 2),("1", 1)变为最不常用的
- 第三次操作后:最常使用的记录为("3", 2),("1", 1)还是最不常用的
- 第四次操作后:最常用的记录为("1", 1),("2", 2)变为最不常用的
- 第五次操作后:大小超过了3,所以移除此时最不常使用的记录("2", 2),加入记录("4", 4),并且为最常使用的记录,然后("3", 2)变为最不常使用的记录
- 算法题目
输入一个链表,反转链表后,输出新链表的表头。
二面
这次面试官气场相对亲切柔和,整体氛围比较轻松。
- 简单介绍一下自己?
- 你认为自动化测试是否有必要去做?自动化有什么意义?
- 项目中遇到过什么测试的难点吗,讲讲?
- 谈谈你理解的测试开发是什么?
- 设计微信朋友圈点赞和评论用例
- 你平常如何去学习的?
- 你未来有什么目标或者打算吗?
- 你对团队有怎样的期望呢?
- 你最晚多久能够入职呢?
- 你目前手头上有其他家的 Offer 吗?为什么来这里?
- 你有什么想问我的?
三面
还是技术面,不少问题仍然很有挑战,原本放松的心一下子又紧张起来。
...... ...... ...... 剩余真题内容,关注公众号获取 ...... ...... ......
请关注霍格沃兹测试学院公众号,回复暗号「 20 」获取全部面试真题。更多测试面试真题专辑内容,请回复「 面试 」。
扫码关注霍格沃兹测试学院公众号
获取 测试开发干货资料
来霍格沃兹测试开发学社,学习更多软件测试与测试开发的进阶技术,知识点涵盖web自动化测试 app自动化测试、接口自动化测试、测试框架、性能测试、安全测试、持续集成/持续交付/DevOps,测试左移、测试右移、精准测试、测试平台开发、测试管理等内容,课程技术涵盖bash、pytest、junit、selenium、appium、postman、requests、httprunner、jmeter、jenkins、docker、k8s、elk、sonarqube、jacoco、jvm-sandbox等相关技术,全面提升测试开发工程师的技术实力
QQ交流群:484590337
公众号 TestingStudio
点击获取更多信息