面试经验贴

2020.11.04 深信服 测试开发岗位 远程面试
JRE是什么?JDK是什么?
JDK是java开发工具包(java Development Kit)的缩写,是面向开发人员使用的SDK。它提供了Java的开发环境和运行环境。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。
JRE是Java运行环境(Java Runtime Enviroment)的缩写,是指Java的运行环境,是面向Java程序的使用者,而不是开发者。
1 JVM – java virtual machine,JVM就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行,也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。
2 JRE – java runtime environment,JRE是指java运行环境。光有JVM还不能成class的执行,因为在解释class的时候JVM需要调用解释所需要的类库lib。在JDK的安装目录里你可以找到jre目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre。所以,在你写完java程序编译成.class之后,你可以把这个.class文件和jre一起打包发给朋友,这样你的朋友就可以运行你写程序了。(jre里有运行.class的java.exe)
3 JDK – java development kit,JDK是java开发工具包,基本上每个学java的人都会先在机器上装一个JDK,那他都包含哪几部分呢?让我们看一下JDK的安装目录。在目录下面有六个文件夹、一个src类库源码压缩包、和其他几个声明文件。其中,真正在运行java时起作用的是以下四个文件夹:bin、include、lib、 jre。现在我们可以看出这样一个关系,JDK包含JRE,而JRE包含JVM。bin:最主要的是编译器(javac.exe),include:java和JVM交互用的头文件,lib:类库jre:java运行环境(注意:这里的bin、lib文件夹和jre里的bin、lib是不同的)总的来说JDK是用于java程序的开发,而jre则是只能运行class而没有编译的功能。
eclipse、idea等其他IDE有自己的编译器而不是用JDK bin目录中自带的,所以在安装时你会发现他们只要求你选中jre路径就ok了。

为什么Java可以多平台运行?
Java编译生成的文件通过JVM执行,支持Java的操作系统都是装有相应的JVM的。c/c++编译成的文件可以直接在操作系统上运行,是针对不同的操作系统的。所以说,Java的执行文件依赖于JVM,不同的操作系统可以有不同的JVM来为同一个Java服务,而c/c++的执行文件依赖于操作系统,面对不同的操作系统只好再次编译才能运行。

Java的安全机制指的是什么?
在这里插入图片描述

什么是装箱、拆箱?
在前面的文章中提到,Java为每种基本数据类型都提供了对应的包装器类型,至于为什么会为每种基本数据类型提供包装器类型在此不进行阐述,有兴趣的朋友可以查阅相关资料。在Java SE5之前,如果要生成一个数值为10的Integer对象,必须这样进行:

Integer i = new Integer(10);

而在从Java SE5开始就提供了自动装箱的特性,如果要生成一个数值为10的Integer对象,只需要这样就可以了:

Integer i = 10;

这个过程中会自动根据数值创建对应的 Integer对象,这就是装箱。
那什么是拆箱呢?顾名思义,跟装箱对应,就是自动将包装器类型转换为基本数据类型:

Integer i = 10;  //装箱
int n = i;   //拆箱

简单一点说,装箱就是 自动将基本数据类型转换为包装器类型;拆箱就是 自动将包装器类型转换为基本数据类型。
从反编译得到的字节码内容可以看出,在装箱的时候自动调用的是Integer的valueOf(int)方法。而在拆箱的时候自动调用的是Integer的intValue方法。

equals与= =的区别?
请解释字符串比较之中“= =”和equals()的区别?
= =:比较的是两个字符串内存地址(堆内存)的数值是否相等,属于数值比较
equals():比较的是两个字符串的内容,属于内容比较
= =与equals大体上是一致的,= =对于8种基本数据类型(byte,short,char,int,long,float,double,boolean)来说是比较值是否相等,对于引用类型比较内存地址是否相等。equals是基于Object类的一种方法,源码中也是为= =来比较,但是不同的是equals方法可以重写,比如在字符串的比较中,equals方法就重写为比较字符串的内容是否相等,而非内存地址。

测试与测试开发与开发之间的区别?
首先明确一下简称吧,毕竟这几个名字太像了,中文容易搞混。软件开发工程师(SWE),测试开发工程师(SWT),测试工程师(TE)
1、SWE也需要做测试的工作,SWE需要编写测试驱动的设计、单元测试、参与构建各种大小规模的测试等(简单说开发其实需要对自己的代码负责,并不是很多人理解的代码写出来扔给SWT和TE去测)

2、SWT也是一个开发者角色,只是工作重心在可测试性和通用测试基础框架上。(SWT也要会写代码,代码要求并不比开发低,他们写代码的聚焦点是测试,PS:以字节为例,大部分的测开是技术序列,代码要求和开发一致,薪资也一致(当时宣讲会听的))

3、SWE和SWT不是敌人(不是一个生产BUG,一个挑刺的),更多是合作伙伴,SET写代码的目的是可以让SWE测试自己的功能。

4、TE把用户放在第一位来思考,组织整体质量的实践,分析解释测试运行结果,驱动测试执行,构建端到端的自动化测试。(SWT和TE工作有很多交织,SWT更多是要构建测试框架,编写测试工具。TE更多是脚本,测试用例,以及点点点…,以字节为例,TE对代码的要求会相对较低,但是也需要写代码(宣讲会听的))

5、国内很多大厂的测开其实做的是测试的活,也要很多测开干的就是开发的活,这些都取决于你的组,不是一概而论的。

6、SWT和TE对于知识广度的要求会更高,SWE你也许只需要在一个角度仔细钻研就可以了,SWT和TE则需要你是“万能博士”,正如推荐的那本书的作者所说,招一个好的SWT和TE往往比SWE还难

7、SWT的天花板也许相对SWE会低(毕竟国内的事实是SWT和TE做主程的很少),但是SWT越来越受重视是不争的事实,同时SWT的平均待遇不低

反射机制?

如果建立三次握手之后,服务器端发生异常,那么客户端会发生什么?

斐波那契数列的算法题?递归的时间复杂度与空间复杂度?为什么不推荐使用递归?
时间复杂度O(2^n),空间复杂度O(n)
循环算法时间复杂度O(n),空间复杂度O(1)
如果终止条件有问题,那么递归将无法停止,如果递归无法停止,函数会不断的调用自身,从而无法执行后序的流程。

加快数据库查询速度的方法有哪些?

2020.11.06 浙商银行 测试岗位 一面
1 介绍一下自己

2 介绍一下自己做的项目

3 问了有几个offer

五分钟结束

2020.11.13 小米公司 测试开发岗位一面
1 算法题 怎么实现将一个整数用二进制表示,然后输入其中1的个数
2 算法题 有一个矩阵,每一行都是从左到右递增的,如何用最有效的方法找到target值
3 三次握手 四次挥手
详见“”面试官,不要再问我三次握手四次挥手”
4 Hashmap的扩容机制
Hashmap工作原理
5 索引的种类以及索引的数据结构

6 垃圾回收算法
深入理解JVM垃圾回收机制
7 你准备怎么学习前端的内容以及团队的其他成员是怎么评价你的

2020.12.17 oppo 测试开发岗一面
1 什么是多态?多态的用处?
2 白盒测试了解什么?
3 讲一下你的项目,项目的各个模块,哪个是业务模块?
4 自动化测试的内容?
5 测试的全流程
6 实习的内容

2021.01.08跟就业指导老师的对话
1 简历中技能概述有问题,很多都可以删去的,后面需要仔细修改
2 求职目标不明确,同时可以降低求职目标,比如去测试
3 个人介绍的时候介绍的内容模糊,突出对计算机的热爱,忽略旁人的影响
4 简历中项目所获得到的成果并没有说明
5 表述没有抓住重点,需要分层,罗列好来说明
6 项目的经历太少

2021.01.14面试浩鲸云
1 重写与重载的区别
2 创建线程有几种方式
3 继承Runnable接口与实现Callable接口有什么区别

基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip 【备注】 1、该资源内项目代码百分百可运行,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值