一整套美团面经(给对象超用心整理的)

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

做测试的我整理的真的很用心了能找的新鲜面经都找了。

一面

1. 自我介绍

2. 面向对象的三种特性 集成用到了哪些特性 多态的具体使用场景 设计模式中的多态体现手撕

封装将属性私有化封装的意义保护或者防止代码数据被我们无意中破坏。

保护成员属性不让类以外的程序直接访问和修改隐藏方法细节

继承主要实现重用代码节省开发时间。

多态的定义不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。

多态实现“

   酒 a = 剑南春

    酒 b = 五粮液

    酒 c = 酒鬼酒

策略模式策略模式定义了一系列算法,并将每一个算法封装起来而且使它们还可以相互替换。

3. java基础 堆和栈 String和StringBuffer 区别 在堆中怎么分配 有几个对象

栈主要存放了编译器可知的各种数据类型boolean、byte、char、short、int、float、long、double、对象引用。

堆存对象

String不可变StringBuffer可变

创建 1 或 2 个对象。

如果池中已存在字符串常量“abc”则只会在堆空间创建一个字符串常量“abc”。

如果池中没有字符串常量“abc”那么它将首先在池中创建然后在堆空间中创建因此将创建总共 2 个字符串对象。

4. java集合 hashmap 手撕实现put 和get方法

计算该去的位置重点就是取个模

put大概思路要知道

Get先计算出来位置然后就去对应的链表找

5. java gc回收三种算法

标记-清除

从根对象出发进行标记也就是将这些根对象能够引用到的那些对象都作上标记。然后清除。

引用计数

有人引用就+1释放就-1到0就销毁。

GC 复制算法

最原始的做法就是将内存一分为二每次只使用其他一半当要 GC 时就将使用的一半中的活动对象复制到另外一半然后清理这一半中的所有对象直接使用另外一半即可重复这个操作。

6. 网络基础 tcp三次握手

第一次发送请求

第二次告诉对方受到了请求并同意

第三次告诉对方收到了你的同意可以开始了。

7. 数据库查询 更新 删除语句 inner join left join right join区别

 

总结内连接只取两边能匹配的。

左连接左边存在右边不存在的也取

右连接和左连接相反

8. 索引 使用场景

加速有序表的查找速度

9. 项目中的难点

10. 为什么选择测试开发

11. 面试官介绍部门以及工作

12. 3-5年职业规划

一面

1. 自我介绍 项目

2. 算法 字符串匹配 截取 手撕 写测试用例 测试用例的设计方法

3. Java 多线程实现方式 runnable thread 区别 线程的几种状态  状态切换

优点编写简单如果需要访问当前线程直接使用this即可获得当前线程.

缺点因为线程类已经继承了Thread类不能再继承其他的父类

优点线程类只实现了Runable接口还可以继承其他的类.

缺点编程稍微复杂需要访问当前线程必须使用Thread.currentThread()方法

4. 数据库 delete drop truncate区别

DELETE是每次删除一行并且将该行的删除操作记录在日志中保存以便进行回滚操作。

TRUNCATE TABLE删除所有的数据不把删除操作记录记入日志是不能恢复的。

DELETE操作不会减少表或索引所占用的空间。

当表被TRUNCATE 后这个表和索引所占用的空间会恢复到初始大小

drop语句将表所占用的空间全释放掉。

如果想删除部分数据用delete

如果想删除表用drop

如果想保留表而将所有数据删除用truncate

5. 索引 使用场景 数据库查询优化有几亿条记录的表优化分库分表按什么标准做划分标准

6. 唯一索引和主键索引的区别

主键索引一定是唯一索引唯一索引不一定是主键索引

唯一索引可以为空主键索引不能为空

7. HTTP和HTTPs的区别 HTTPs原理 SSL 证书 对称密钥会话密钥 非对称密钥

http是超文本传输协议信息是明文传输https则是具有安全性的ssl加密传输协议

http和https使用的是完全不同的连接方式用的端口也不一样前者是80后者是443。

http的连接很简单是无状态的HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议比http协议安全。

8. HTTP请求头部字段有哪些

9. HTTP 状态码 301和302  区别

301和302状态码都表示重定向就是说浏览器在拿到服务器返回的这个状态码后会自动跳转到一个新的URL地址。

301表示旧地址A的资源已经被永久地移除了这个资源不可访问了

302表示旧地址A的资源还在仍然可以访问

10. Web请求的过程

11. ping ICMP协议 ping 的过程   放弃

12. TCP和UDP的应用场景 QQ聊天软件使用的协议是什么

Tcp可靠传输比如传文件

Udp不可靠比如qq聊天有时候感叹号

13. Linux命令 | 管道命令

14. 学习方法

二面

自我介绍

为啥要做测开

测试方法

测试流程

代码题反转字符串

你会

之前测试遇到过什么亮点

找到的bug开发不承认咋办

学一门语言需要多久

有啥问题要问

三面

问了项目项目是做什么的用户是谁你在里面扮演了什么角色

对测试开发的理解

如果测出了一个bug去给开发说开发说不是bug咋地整

http请求头内容

状态码405

405表示请求的方式不对请求的方式有get、post、head、put……常用的为post和get

put和post区别

幂等性概念幂等通俗来说是指不管进行多少次重复操作都是实现相同的结果。

GETPUTDELETE都是幂等操作而POST不是以下进行分析

首先GET请求很好理解对资源做查询多次此实现的结果都是一样的。

PUT请求的幂等性可以这样理解将A修改为B它第一次请求值变为了B再进行多次此操作最终的结果还是B与一次执行的结果是一样的所以PUT是幂等操作。

同理可以理解DELETE操作第一次将资源删除后后面多次进行此删除请求最终结果是一样的将资源删除掉了。

POST不是幂等操作因为一次请求添加一份新资源二次请求则添加了两份新资源多次请求会产生不同的结果因此POST不是幂等操作。

数据库分页limit 3 5的意思

从第三条往后取10条

tomcat配置

手撕给一个字符串“王先生手机180住在A座302号”把不同类型的连续字符分别存储比如a1=王先生手机a2=180等等遍历这个存储结构可以得到原字符串

按格分割成一段一段的存到不同的属性里

一面

1、自我介绍2、手撕代码给一个整型数组将正数放在左边负数放在右边

和快排类似复习一下

3、刚才写的代码时间复杂度、空间复杂度都是多少

4、如何优化刚才写的代码

这就是最优了优化不了了笨蛋是开两个新数组负的放第一个数组正的放第二个数组。最后再放回开始的数组里这是浪费空间的

5、站在一个测试人员的角度如何测试刚才所写的代码

6、三次握手

7、integer和int的区别

Integer是int的包装类int则是java的一种基本数据类型

Integer变量必须实例化后才能使用而int变量不需要

Integer实际是对象的引用当new一个Integer时实际上是生成一个指针指向此对象而int则是直接存储数据值

Integer的默认值是nullint的默认值是0

8、static关键字

修饰的方法和属性属于类本身所有对象共享

9、项目难点以及怎么解决的

10、简历上写的项目怎么做的测试

11、你认为测试开发是做什么的

12、问实习相关的工作

13、你有什么想问我的

一二三四面

1.自我介绍

2.讲项目讲项目流程

3.项目数据和代码怎么分离的怎么驱动的说的不好感觉没get到点

3.http用了哪些方法post,put的区别,put,get的区别

4.https区别https为什么是安全的知道哪些加密算法不懂了说知道SSL层原理讲了一下

5.fiddler怎么抓https包的

还有好多忘记了反正问的很详细

二面

1.自我介绍

2.项目讲了一下很详细的聊了一下项目项目人员组成你有没有觉得哪一环节可以优化的

3.jenkins怎么集成的怎么触发的

4.为什么选ROBOT Framework框架优缺点是什么

5.接口自动化测试接口输入参数填错时候是什么情况怎么处理的这块答得不好不是很懂瞎扯了一会

6.写代码目录A,遍历这个文件夹找出所有.txt文件异常情况考虑

7.写代码abcd反转成dcba能写多少种方法写了三种姐姐让再想想想不出来了说可以入栈出栈的方式

8.二分查找思想说一下代码写一下有没有异常情况的处理

9.写代码统计字符串abcdaa123每个字符出现的次数

10.python常用哪些类库

11.python常用数据结构讲一下特点讲一下

12.linux  查看所有java的进程什么语句  ps -ef | grep 'java'写了不对改了两遍才写对了问|是什么说了管道

查看日志怎么查看的不会

查看两台服务器是否连通什么语句说了ping还知不知道其他的不懂了

服务器A上的文件拷贝到B什么语句不懂以前用过忘记了哭

同一个服务器上文件夹A的拷贝到B  cp

13.数据库三种删除关键字说一下  delete,truncate,drop讲了一下此时嗓子已哑~~

14.http请求包包含哪些内容说的不好只记得一些

15.http1.0 http1.1啥区别讲了一下顺便讲了长连接和短连接的区别

16.一个URL包含哪些内容说了协议域名或者IP文件名路径名

17.cookies session 区别说一下  你项目里怎么存cookies的告诉他没用过自己做过token验证的

18.对测试框架有没有优化的跟他说发现过问题但是没有优化开源的框架但是优化过自己的代码说了下函数式编程

19.实习中发现什么有意义的bug没有

20.用fiddler干嘛的说了过滤包抓手机包

21.浏览器兼容性测试做过哪些哪些浏览器有什么特点市面上浏览器列举了一下特点就不懂了说了一下发现过的浏览器兼容性测试的bug问怎么解决的说不太懂底层原理

22.微信登录页面怎么测试从哪些方面测试具体说下功能测试

23.美团一个提交订单的页面怎么测试的

三面

1.自我介绍项目项目人员组成

2.python用过哪些库

3.python中is 和==什么区别

4.函数重载是什么代码写一下说的好像不准确代码没写出来换了写初始化的

5.python 初始化一个类代码写一下

6.python写一下99乘法表

7.写完了对代码设计测试用例好难讲的不好

8.还有一个代码题忘记了

9.MYSQL题目找出每个科目的平均分平均分大于90的科目这个地方写的很差在面试官不断指导下改正有段时间没用了写的不行哭

10.sql注入什么样子举个例子写了一种代码问还知道其他的不不知道了跟他说了一下sql注入原因

11.平时怎么学习的 跟他说书和博客看谁的博客说了阮一峰廖雪峰

12.最近看哪些书大学学最好的课程是啥说了计算机网络这本书讲什么的跟他说了第一章到第十章每章讲的什么

从这本书学到什么了说了协议

13.http状态码说一下从100说到4XX被停了问 你咋还记得怎么清楚是不是背书了....

委屈记得清楚也不行了告诉他项目常用 我就多了解了很多没错其实我就是背书了

14.平时怎么学的PYTHON说了python基础教程博客传智播客的视频选择性学习

15.你觉得怎么可以减小开发中出现的错误答得不好纯胡扯

16.美团常用吗蠢了说不太常用常用大众点评哭戚戚

用大众点评干嘛的答了各种吃喝玩乐啊~

17.职业规划说一下说了五年的说你想的倒是很长远啊那你觉得做leader需要什么

18.扯了会校园生活

19.有什么要问的

HR面

1.自我介绍

2.大学经验

3.概括自己的优缺点讲了一下

4.天赋和努力什么重要过程和结果什么重要

5.讲了下大学经验各种社团活动

6.你怎么平衡活动和学习

7.你有对做过等活动review吗

8.了解了基本情况

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6