首页 > 美团22届校招一面(42min)已挂
头像
我要出去乱说
编辑于 2021-09-20 22:50
+ 关注

美团22届校招一面(42min)已挂

岗位:测试开发工程师
部门:美团优选

一面(42min)

1、说一下OSI七层模型,每层有什么协议?

  • 最上层是应用层,有HTTPHTTPSFTPSMTP这些协议;
  • 然后是会话层和表示层,这两层我不太了解;
  • 下面是传输层,有TCPUDP
  • 再下面是网络层,有IPICMP
  • 最底端是数据链路层和物理层,这两层我也不太了解,不知道有什么协议。

2、HTTPHTTPS有什么区别?

3、看你简历上有写熟悉gccgit,你说一下平时是怎么用它们的?

gcc可以用来编译C程序,最近我常用它来生成动态库和静态库,比如-share参数可以生成动态库,-L指定动态库目录,-l指定动态库文件名,-I指定头文件目录等;

追问1:静态库与动态库有什么区别?

静态库相当于把所需的目标文件都整合到一起,不需要外部依赖,但是体积较大,动态库可以只将需要的函数接口放进去,体积小,更灵活,但是会有外部依赖。

追问2:你有没有试过把编译好的程序放到其他机器上运行?能运行成功吗?

如果直接拷贝过去的话可能没法直接运行,需要配一些环境变量,比如动态库路径等。

git的话我一般是用git add .命令添加修改的文件,然后用git commit -m "commemt"提交,双引号里面写这次修改的内容,最后用git push origin推送到远端。

追问3:你一般是直接在主分支(master)上进行修改吗?

不是,一般是从主分支拉一个新分支,在新分支上修改代码,最后再合并到主分支。

追问4:如果协同开发,那么肯定会有分支冲突,你是怎么解决冲突的呢?

解决冲突这块不太熟,答得不好,最后我干脆直接说不会解决冲突。。

4、看你简历里写了挺多排序啊,十大排序哈哈,那你说下快排的原理?

经典八股文,我一顿狂背,原理+优化方法,结果说到一半被面试官打断施法了。

追问:快排与归并有什么区别?

  • 归并时间复杂度是稳定的O(logN)而快排是不稳定的,最好O(logN),最坏O(N*N)
  • 归并本身是稳定排序,快排不是。

5、你简历上说了解MySQL,那你写几个增删改查语句吧

我说增是用insert,改是用update,但我平时没怎么写过,都不会写,只会写查的语句,就是select的语句。

追问1:知道多表联查吗?

知道,用left join可以实现多表联查,相当于在多个表的并集里面做查询。

追问2:left joinright join有什么区别?

right join我听过,但是没用过,不知道有什么区别。

6、进程与线程有什么区别?

7、用没用过管道?

用过,程序里面可以用管道pipe进行通信,命令行里的|也是管道。

追问1:用grep和find命令,找/root/目录下所有名字格式类似YYYY-MM-DD.log的文件中包含connection time out的日志。

我说我不会写正则表达式,面试官说可以不写,于是我解答如下:

find /root -name "YYYY-MM-DD.log" | grep "connection time out"

这里被面试官秀了,本来我敲的是对的,然后他质疑说find这个地方写得有问题,我赶紧说哦哦对对应该那样写,然后他又质疑我grep那个地方写得有问题并问我是否知道xargs这个命令,我赶紧说哦哦对对应该用这个命令。然后他说刚才两点他提的都是错的,我写的本来就是对的,为了考验我是否自信。最后他说出这句话他自己都笑了,我也蚌埠住了,直接笑场。

8、为什么想做测开?

我觉得大家在学的时候应该都是往后端开发这个方向去学的,我最开始也是这么想的,但上次实习的时候发现测开其实挺有意思的。那时候我们部门有个很厉害的测开工程师,我每次实现一个功能,自己测了一下觉得没问题了,结果人家一眼就能看出很多破绽。而且做开发的话可能就只对几个技术栈比较熟悉,但是做测开的话,知识面会更广,技术栈也可以下潜很深,如果同时能保持广度和深度的话就太厉害了,所以我也想做测开工程师,往这个方向去发展。

9、既然你对测开那么感兴趣,那你最近有没有主动去了解过测开的一些知识?

有,但我现在时间很有限没有办法系统地去学,只是知道一些简单的概念,比如黑盒测试白盒测试这些概念,我还知道现在很流行用python来写自动化测试框架,但我自己也还没有时间去学phthon

追问:黑盒测试与白盒测试有什么区别?

  • 黑盒就是不去看程序内部,而是只根据输入输出来判断功能是否健全,好处是简单、测试成本低,但是容易遗漏bug;
  • 白盒测试就是去看程序内部的实现,需要一些开发知识,成本较高,比如开发人员的自测就属于白盒测试。

面试官给我说不只是python可以写自动化测试框架,JavaC++也可以,美团自研的自动化测试框架就是用Java来写的,只不过现在python比较流行。

10、设计测试用例

题目:5层楼,包含地下一层,每层两个电梯厢,每个电梯厢有自己的按钮(外面),里面有许多按钮:-1,1,2,3,4,警报铃,开门、关门,请你设计测试用例。

  • 进电梯按指定的楼层是否能到达该楼层,按警报玲会不会响,开门关门是否正常;
  • 电梯里面应该有一套算法,比如你按下电梯,离你楼层较近的那台电梯会来接你;
  • 停电的时候电梯里的应急灯会不会亮,里面通信设备能不能呼救;
  • 承重方面,如果电梯人数超过上限会不会响警报;

追问:如果你第一天测,电梯是正常的,但第二天就出问题了,你会怎么办?

我觉得应该要增加测试的频度。

面试官补充:除了承重以外,还需要测一下电梯门的规格大小,比如你搬东西进去,能搬多大的东西,这也是需要测的一点。

11、问实习项目中遇到最大的困难是什么?

我说项目中要实现一个ssh功能,我觉得比较困难。

追问:你用过telnet吗?telnetssh有什么区别?

没用过telnet,不太清楚。

总结

美团测开感觉还是比较简单的,居然算法题都没写,惊了哈哈。现在面试已经比较从容了,不会的东西就直接说不会,感觉能和面试官谈笑风生,不再过分严肃和紧张。

更多模拟面试

全部评论

(3) 回帖
加载中...
话题 回帖

相关热帖

近期热帖

近期精华帖

热门推荐