随着随着技术的不断发展和更新,企业对测试开发工程师的能力要求也更高了,比如:
- 有一定的技术知识和能力,可以review产品代码
- 学习能力强,有掌握常用自动化测试框架和二次开发的能力
- 深入了解操作系统、产品平台(iOS或安卓等)的特性,能够深入专 -- 项测试和性能测试
- 可以帮助开发写一些单元测试
- 通过review代码完善功能测试团队(众所周知现在很多大厂把功能测试外包)测试用例
- 开发测试工具或平台
……(欢迎补充)
联想到自己的发展方向,更偏向于开发测试工具和平台以及性能测试方面,所以代码编写能力一定要强。
编程题:
测试开发岗位要求从业者有着扎实的编码能力,未来测试开发的主要工作将从功能测试转移到专项和工具及平台的研发,编码的工作是不可或缺的。我遇到的问题能回忆起来的有这么几类:
- 基础类:
- 常见排序算法
- 算法复杂度
- 树的遍历,递归非递归,深度优先和广度优先
- 链表题考到的最多:链表反转,环相关问题,删除中间元素等
- 等;
- 字符串处理:
- 字符串反转
- 文本的规范化(首字母大写,单词规范化)
- 关键字查找及过滤
- 等;
- 综合编程题:
大都记不太清,会稍微有点难度,部分题目在LeetCode上也见到过,如经典的Longest Substring Without Repeating Characters。说真的,如果想拿到大厂或者新生代互联网公司的offer,题还是要刷的。这里分享我的个人经验,一般Python答起来会更轻松点,常见的面试题很多都是很有技巧性的,而Python在临场发挥时应对这些问题都比较简单。但是有些问题用Python就不够简洁,比如说Python严格来说是没有树和栈这些结构的。
总的来说编程题都不是太难,最好是Java/C++和Python都熟练,这样应对大多数的题目绰绰有余。