本文介绍: 给对象看的面经,超用心整理

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

一面

1. 自我介绍

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

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

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

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

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

多态实现

   a = 剑南春

    b = 五粮液

    c = 酒鬼酒

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

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

栈:主要存放编译器可知的各种数据类型boolean、bytecharshortintfloatlongdouble)、对象引用

堆:存对象

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加密传输协议

httphttps使用的是完全不同的连接方式,用的端口也不一样,前者是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表示请求的方式不对,请求的方式有getpostheadput……常用的为postget

put和post区别

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

GET,PUT,DELETE都是幂等操作,而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、integerint的区别

Integerint包装类,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 | grepjava‘,写了不对,改了两遍才写对了,问|是什么,说了管道

查看日志怎么查看的(不会)

查看两台服务器是否连通什么语句,说了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.了解了基本情况

原文地址:https://blog.csdn.net/hebtu666/article/details/126702181

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_11123.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注