zoukankan      html  css  js  c++  java
  • 面试经验--携程测试开发工程师--一面

    在笔试后2天,面试之前2天,我收到了面试预约邮件,上面允许我选择面试时间,我毅然选择了早上10:00,这是最早的可选时间。我觉得,既然要面试,那么就要选择自己和面试官状态最佳的时间,早上10:00正是我期望中的好时机。

    自我介绍

    面试官您好,我叫xx,来自xx大学,是大四在读,明年6月毕业。我在校期间勤奋好学,参与过xx大学机器人实验室,在那里我学习了很多。

    (突然忘记了自己当时咋说的了.....)

    我觉得自我介绍一定要吐字清晰,一定要条理清晰,突出重点,不要面面俱到,不要搞得像履历那么详细。就突出重点就完事了,比如我获得什么奖,都要讲到位。

    项目经历

    你在机器人项目中,为它做过什么优化吗?

    我们的机器人存在一些硬件方面的问题,比如雷达扫描就很慢,且精确度低,导致机器人检测周边环境很费时间。我们做了传感器融合的方案,使用机器人摄像头,采取环境的点云数据,进行融合建图,为机器人加速了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;
    }
    

    运行截图

    image-20210913224514128

    总结

    这次面试,我在测试的知识方面很欠缺。

    面试官最后还问我,我到底在学校有没有学过软件测试这门课,我也没有骗他,我说这门课我没选。

    许愿,我真的很想拿到offer,我愿意为实现这个愿望再多学习一些,再多努力一些!

  • 相关阅读:
    搜索回车跳转页面
    登录验证码
    【排序算法】排序算法之插入排序
    PAT 乙级 1044 火星数字 (20 分)
    PAT 甲级 1035 Password (20 分)
    PAT 甲级 1041 Be Unique (20 分)
    PAT 甲级 1054 The Dominant Color (20 分)
    PAT 甲级 1027 Colors in Mars (20 分)
    PAT 甲级 1083 List Grades (25 分)
    PAT 甲级 1005 Spell It Right (20 分)
  • 原文地址:https://www.cnblogs.com/studentWangqy/p/15265478.html
Copyright © 2011-2022 走看看