面试 | 互联网大厂测试开发岗位会问哪些问题?

原文链接

本文作者测试媛 **@j2w 为霍格沃兹测试学院「测试开发从入门到高级实战」系列课程在线班(第七期)的学员,从一开始初出茅庐、勉勉强强的初级测试开发水平,经过 4 个月努力学习和快速成长,成功拿下某互联网巨头企业中级测试开发岗位 Offer,并获得霍格沃兹测试学院 2000 元优秀学员奖学金。
学院老师和助教对她的一致印象是「学习非常主动、很勤奋、有耐心、会记录详尽的笔记、感觉性格很好」等。学院类似拿到名企 Offer 的优秀学员还有很多,后续小编会跟进采访,也欢迎自主提交原创分享(限于隐私,部分成功案例经验仅在私有节点对学院内部学员开放)。
01

背景介绍
本人计算机专业毕业,在某事业单位混迹了三年半,可以说是一事无成吧 ,再加上没有北京户口,也不想继续蹉跎岁月,遂决心到互联网企业寻求突破。
在思考人生和重新规划职业发展的关键阶段,我有幸参加了霍格沃茨测试学院的
「测试开发从入门到高级实战」第七期(线上班)的课程,从测试技术到职业软技能都收益颇多,这里要特别强调感谢霍格沃兹测试学院的思寒老师以及各位助教们!
前后参加过几家互联网公司的测试开发岗位面试,这里主要总结一下百度的面试经历和心得体会。总体感觉,百度的面试官比较注重基础,问题不难但是覆盖范围比较全面。相对而言,另一家互联网大厂的面试则比较注重项目经验,对框架的认识之类的。
02

百度面试
参加过两次百度的面试,一次止步三面,另一次止步于四面。
第一次面试百度是在 2018 上半年,一面和二面还比较顺利,都是算法、数据结构之类的问题,但三面的时候,面试官觉得我的经历与百度不 Match,于是让我写个全排列,妥妥的挂掉,当时自己的基础技能还是不牢靠 。
第二次面试是在年底,这时由于已经参加了霍格沃兹测试学院的
「测试开发从入门到高级实战」**课程,果然自信了好多,一直闯关到四面。由于本人习惯于记录学习笔记,面试完通常也会记下来问题,供自己查缺补漏,在这里也供各位小伙伴参考。

一面

  1. 项目经验
  2. 遇到的某个难点是什么?如何解决的?
  3. Java 中的容器有哪些?它们的区别和特性?
  4. Java 多线程的创建
  5. Python 中方法的参数是值传递还是引用传递?
  6. Python 中元组和列表的区别
  7. Flask 的某个问题(忘了 )
  8. 性能测试关注哪些指标?
  9. Linux 中查找某个文件并删除它
  10. Linux 查询 CPU、内存的指令
  11. Git 的常见操作,如 git stash
  12. 算法:快排的实现
  13. 算法:数组中查找出现次数过半的数(这个没写好,据说空间复杂度高了 )
  14. 算法:查找链表的倒数第三个数
  15. Java 的接口与抽象类的区别
    二面
  16. 项目经验
  17. 测试的过程
  18. 京东登录页面怎么测?
  19. 算法:二叉树的深度计算
  20. 算法:一亿个无序数找出 Top 100(这个也没写好,空间复杂度高了,应该用堆排序)
  21. UI 测试的过程
  22. 自己解决的最亮点的技术难点是什么?
  23. TCP 和 UDP 的区别?如何保证 TCP 的可靠性?
  24. 打开一个网页都发生了哪些事?
  25. 如果一个普通用户,他的百度首页打不开,问题怎么定位?写出定位流程。
    三面
  26. 继续问项目经验和技术难点
  27. 了解现在的工作环境,背景等
  28. 户口,家庭情况,伴侣工作等
  29. Web View 怎么测试?
  30. UI 测试做的是 iOS 还是 Android?讲讲 iOS 的 UI 怎么测?
    三面的时间很短,直接说过了。
    四面
  31. 家庭情况,伴侣工作,职位级别等
  32. 和现在的领导关系如何?
  33. 和现在的同事关系如何?
  34. 抗压能力,有没有抗压经验?
  35. 为什么不在事业单位呆了?
  36. 准备好百度的工作模式了吗?
  37. 什么时候入职、期望的薪资
    总结:因为当时自己在城市选择上有些犹豫,不是很想留北京,回想起四面的时候,态度不够坚定,回答的也随意了点,所以最终还是遗憾的挂掉了。当时面完回来,也真切的感觉到自己不会的点还有好多,需要继续深入学习和实践。
    03

    面试经验总结
    百度面试归来,我又扎实的学习了霍格沃兹测试学院里的「接口自动化测试」、「UI 自动化测试」这些实战类课程,根据老师的讲解,并结合以往的项目经验反复思考,感觉自己对项目流程和框架理解都有了较大提升。
    然后也继续抱着学习的态度,积极尝试互联网企业面试机会,最终比较幸运的拿下心仪公司的 Offer,团队的 Leader 也很 Nice! 能加入这么优秀的团队感到很惊喜很兴奋,同时也倍感压力,感觉自己在业务和技能水平上要快速精进,更上一层楼!
    最后,总结一下个人认为比较重要的知识点:
  38. 接口自动化测试:测试框架,多个有关联的接口的用例编写,用例的组织及存储,接口测试的覆盖率,RESTAssured 的封装等。
  39. UI 自动化测试:iOS 和 Android 的区别,Appium 代码的双端复用等。
  40. 性能测试:工具、性能指标、多线程、并发。
  41. 算法 :常见的快排、冒泡、堆排、二分查找。
  42. 数据结构:常见的容器和区别。
  43. 数据库:知识点比较杂,比如存储过程,索引类型和优缺点,事务,乐观锁和悲观锁,索引查询,drop、delet 和 truncate 的区别,视图及使用场景,三个范式,数据库隔离级别,SQL 语句,B 树等。(这个后续考虑再补充一篇单独介绍的文章)
  44. 用例设计:给一个场景设计测试用例。