面试经验--携程测试开发工程师--一面
2021/9/14 6:08:19
本文主要是介绍面试经验--携程测试开发工程师--一面,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
在笔试后2天,面试之前2天,我收到了面试预约邮件,上面允许我选择面试时间,我毅然选择了早上10:00,这是最早的可选时间。我觉得,既然要面试,那么就要选择自己和面试官状态最佳的时间,早上10:00正是我期望中的好时机。
自我介绍
面试官您好,我叫王启越,来自合肥工业大学,是大四在读,明年6月毕业。我在校期间勤奋好学,参与过合肥工业大学机器人与智能技术实验室,在那里我学习了很多。
(突然忘记了自己当时咋说的了.....)
我觉得自我介绍一定要吐字清晰,一定要条理清晰,突出重点,不要面面俱到,不要搞得像履历那么详细。就突出重点就完事了,比如我获得什么奖,都要讲到位。
项目经历
你在机器人项目中,为它做过什么优化吗?
我们的机器人存在一些硬件方面的问题,比如雷达扫描就很慢,且精确度低,导致机器人检测周边环境很费时间。我们做了传感器融合的方案,使用机器人摄像头,采取环境的点云数据,进行融合建图,为机器人加速了50%。
你在机器人项目中,所用的ROS是什么
ROS是Standford开发的一款开源的机器人操作系统,实现了一些例如差分式轮式机器人的地盘编码等底层的模块,我们不需要重复造轮子,可以基于ROS,进行一些高级功能的开发,比如我们开发了机器人路径规划,开发了机器人与人交互的系统,能够让机器人听取人的指令,做一些简单的服务,比如从一个房间到另一个房间,给游客端一个盘子,拿一杯饮料等。
项目经历真的是我讲的最好的一点了,因为我确实为机器人项目做过很多事情。我以后的面试,还要靠这个东西呢!
知识点
请你谈谈测试的一般流程
我回答的是:
首先进行需求分析,然后是单元测试,再往后是集成测试,确认测试,在上线前,进行α测试、β测试,出了问题,或进行新版本迭代,还需要进行回归测试。
黑盒测试和白盒测试的区别
我回答的是:
黑盒测试
是将待测试的系统视为一个黑盒,不管它内部是如何实现的,只看能否正确完成功能测试,可以根据需求,设计少量的测试用例,根据一定的操作步骤,看是否能够得到期望的结果。
白盒测试
偏向于测试系统内部的一些细微的问题,能够发现系统逻辑上的错误和一些隐患,一般用路径覆盖、条件覆盖等方法。
PS;这里明显答得不好,我能感觉出来。
黑盒测试有哪些方法
我回答的是:
等价类划分法,就是根据不同的类别,设计测试用例
然后....就不知道了,我让面试官稍微提醒了我一下,他又说了一个因果图法
我又硬答了一波,说因果图法是将操作步骤和操作预期结果做因果联系的方法。
应用题
假设现在有网络页面,上面有一个文本框,让用户输入年月日,判断是否是闰年,如果是就返回真,不是就返回假
如果让你测试这个功能,你会如何测试?
我回答的是:
我会把测试分成前端后端
先设计前端的测试用例,比如看前端的界面是否设计合理,用户能否输入一些非法字符串,比如进行SQL注入等,看看前端是否拦截了这些字符串。还会测试一下用户最多能输入多少字符,看看是不是无限输入的。
我设计后端的测试用例
会看用户输入的字符串是否符合日期的格式,比如年月日这种的,月份有没有输入超过12或者小于1,日期是否是跟月份相对应的,再判断一下非闰年的2月,看日期如果超过28,就不正确等。
这里很明显我答得没有什么条理可言。
尤其是,我给自己挖了坑,我偏偏提到SQL注入,和非法字符拦截,面试官说,这些东西前端应该做不了,应该是通过一些抓包器处理的。我对这个确实不是很了解,明显是急于展示自己的知识了。
编程题
面试官让我共享屏幕,然后把刚刚那题判断闰年给做出来,我一边编程,一边跟面试官解释代码。我编程的习惯还算可以,先写注释,注释里面写功能点和测试用例,然后再编程。编程完成后,不急于编译,先自己看一遍,再把测试用例带进去走一遍,最后再写驱动程序,来跑一下代码,并且展示界面。
这是我写的程序:
#include <iostream> /* 判断是否是闰年 (1) 2000 true (2) 1000 false (3) 2008 true (4) -8 false (5) 2021 false */ bool isLeapYear(int year) { /*置润规则:4年1润,100年不润,400又润*/ /* 没有公元0年,只有公元1年,公元前1年*/ /* 公元前1年是闰年*/ if (year < 0) { year += 1; } if (year%4==0) { if (year%400==0) { return true; } if (year%100==0) { return false; } return true; } return false; } int main() { int year; std::cout << "please input a year:" << std::endl; std::cin >> year; bool flag = isLeapYear(year); std::cout << year << " is " << (flag?"":" not ") << "leap year." << std::endl; return 0; }
运行截图
总结
这次面试,我在测试的知识方面很欠缺。
面试官最后还问我,我到底在学校有没有学过软件测试这门课,我也没有骗他,我说这门课我没选。
许愿,我真的很想拿到offer,我愿意为实现这个愿望再多学习一些,再多努力一些!
这篇关于面试经验--携程测试开发工程师--一面的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南