二本4年测龄年仅25岁,五面阿里(定薪25K).....

体验了一下阿里的面试,不愧是大厂,考察范围既有深度也有宽度。努力回想了下面试的内容和自己当时的回答,这里给大家分享下自己的经验,也给自己做个归档,希望能给正在准备跳槽,找工作的朋友一点帮助!

基础知识掌握度的一面

首面是一个女面试官进行的,主要是测试对编程基础的掌握度,老实说让我认识到了自己对于基础知识的掌握其实并不牢固,摘取一些问题如下:

请说出 java or python 的内存回收机制

请说出 python 的几种拷贝方式和区别

请说明如何实现一个线程安全的单例

我回答的都不好,究其原因是因为大部分都是在 python 调用各种类库,而忽视了对其原理和基础的探究,也许确实你不懂这些也可以编程,但是不牢靠的基础一定会成为你代码里的隐患;我认为我这部分确实应该重新重视起来,这几天一直在看 python 的基础编程书籍,对之前项目里用到的方法有了重新的思考,希望观者也可以想想,自己的基础是否牢固呢?

除了这些编程的基础点之外,还有一部分是对你项目的考察,主要是你做了什么,为什么你这么做,你对你使用的工具的了解程度,以及你有没有想如何把他做的更好,例如:

介绍一下 jmeter 这个工具

你是怎么做性能测试的?请举出一个具体的例子

为什么你选择了 appium 作为测试工具

你在工作里有没有对现有工作的改进实践?

你的工作规划是什么?有没有目标

这部分回答的就相对好一些了,因为个人还是很喜欢探究一些新的测试方法或者工具并把它应用起来的。

最后我问的问题是阿里现在的自动化如何做的,以及作为阿里的职员,需要在这个过程里去做什么。

项目实践的二面

二面换成了一个男的面试官,这次比较短,大约就 20 分钟;这个主要是针对你做过的项目进行详细的询问

请举出一个你现在负责的业务并详细的介绍?

你是如何做 ui 自动化的?

你是怎么设计 ui 自动化框架的,介绍一下你的框架?

你做了什么措施让你的用例失败后可以迅速定位问题?

你在自动化用例里,做了什么保证其稳定性?

你的用例有没有做分层设计,是如何做的?

这些部分大约是想看你的实践深度,做是一回事,做的多完美是另一回事。

部门总监三面

三面的面试官级别是P9,技术很强,基本上每个点都问到不会为止。三面面完也没有马上记录,大致的知识点是这些,本人回答的比较马虎,部门总监确实很厉害,全程花了30多分钟

自我介绍,任何开始聊项目

项目中认为最难的点是什么

项目中速度提升是如何实现的

项目中套接字编程客户端、服务端如何写的,框架怎样

dpdk如何实现udp传输

tcp如何保证安全可靠传输

ip报文、tcp报文具体内容有哪些

ip与tcp校验和方式有什么不同

网站访问过程

jvm分区(重点)

线程池(重点),线程池创建方法,参数表示的含义,提交任务的顺序

进程死锁条件,死锁处理方法

有什么问题

交叉四面

全程46分钟

三面过了大概快两周了,以为自己凉了结果前几天早上9:30左右刚在工位还没坐热乎就打给我,一手措手不及,对方自我介绍是天猫的来进行一轮交叉面,我当时急忙找了个空位置开始面试。

首先自我介绍

介绍项目

平时项目有用到优化的地方吗 如何优化的

我回答了项目从写方面的优化(服务端对数据库乐观锁自旋等待、redis缓存对并发的抵挡,消息中间件进行异步)面试官又问我如果读取如何优化

然后高并发情况下如何处理

数据库主从复制、分库分表

分库分表后如何保证主键唯一性

实现面向切面有哪些方法 具体怎么实现的

手撕代码题

//评测题目: 
//含有 x + 1 个整数的数组 nums,其数字都在 1 到 x 之间(包括 1 和 x),
//假设只有一个重复的数字,请找出这个重复的数。
//示例 1:
//输入: [1,3,4,2,2]   输出: 2
//示例 2:
//输入: [3,1,3,4,2]   输出: 3
//说明:
//不能改变原来的数组(假设数组只读)。
//只能使用额外的 O(1) 的空间。
//时间复杂度小于 O(n2) 。
.....

最后问了平时如何保证代码质量的

五面 HR

全程20多分钟,基本上在聊人生,面试官小哥哥也超nice,问了什么时候有结果,他说两周之内有offer的话会再通知~

自我介绍

项目的收获

项目遇到的难点如何解决

你实习的两家公司有什么优点与不足

为什么春招没有投阿里

未来的职业规划

未来打算定居杭州吗

期望薪资

如何快速搞定软件测试面试,总体上做好以下三点即可:

  1. 简历准备
  2. 核心技术及面试题
  3. 面试技巧

简历准备

首先你要准备的是简历。简历很重要,这是别人了解你的第一个地方,所以简历要好好写。

  • 自我简介:

个人的主要信息都要以醒目的方式标出。什么是个人的主要信息?例如姓名,性别,年龄,学历,联系方式,工作年限,掉长的技术点,项目经验等。不能让筛选简历的人到处找你的特点,而应当是让这些特点主动地抓住他们的目光。例如,如果一个公司要招聘…位测试工程师,要求懂技术A,而却很难从简历上发现你有与A相关的工作经验或者学习经历,你入选的概率会大吗?可能面试的机会都会很少。我们可以通过一些简单的方式来着重强调我们的主要信息,例如把字体加粗,或者让它们单独占一行,或者用其他方式。我曾经接触过一些简历,需要我从头至尾反复看好几遍才能大概看明白,需要我去总结“中心思想”。如果工作忙没有时间的话,这样的简历往往就被忽略了。

  • 个人技能:

如果你对一门技术或者一个职业有自己的深入的理解,可以写出来。这种理解因为是自己归纳的,所以往往比通常意义上的“自荐信”还要有效果。例如,如果你想申请份测试工程师的工作,而你对这个职业有自己的理解,你可以在简历中安排一个小段落来叙述你的看法。这一部分并不是简历中必须的,有则锦上添花,没有也没有关系。只有对要陈述的对象有深入的了解的时候,再去写才比较好。如果不熟悉,反倒是搬起石头砸白己的脚。所以,做之前,慎重考虑一下。

  • 工作经历:

现在公司衡量一个人是否合格,他的工作经验占据很重要的权重,这在软件行业尤其明显。因为工作经验很重要,所以请在简历中开辟一个专门的区域去详细叙述它。项目的名称、起止时间、所用技术、你的角色和职责等,都要说清楚。—旦公司在你的工作经验中发现了他们所期望的或者相近的,你得到面试机会的概率会比较大。没有工作经验或者经验缺乏的朋友也不可忽略这一部分,自己的实习项目、学习项目都是可以写的。如果一点相关内容都没有,简历会显得很单薄,没有竞争力。

核心技术及面试题

面试常考的核心知识点包括以下点:

测试开发工程师面试,技术面试过程中,有以下这些点, 是一定会考到的【按照优先级排序】。

1.自动化测试知识 + 测试基础知识。

2.项目经历。

3.开发语言知识 Python or Java。

4.网络知识。

5.数据库知识。

6.操作系统知识。

7.算法与数据结构知识

8.解决问题能力 + 未来思考能力

软件测试面试问题解析整理

测试理论:

软件测试的目标

发现尽可能多的错误,测试是一个为了寻找错误而运行程序的过程。

一个好的测试案例是指很可能找到迄今为止尚未发现的错误的用例。

一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。

软件都有多少种分类?

根据功能的不同,电脑软件可以粗略地分成四个层次:

  • 最贴近电脑硬件的是一些小巧的软件。它们实现一些最基本的功能,通常“固化”在只读存储器芯片中,因此称为固件。
  • 系统软件包括操作系统和编译器软件等。系统软件和硬件一起提供一个“平台”。它们管理和优化电脑硬件资源的使用。
  • 支持软件。包括图形用户界面、软件开发工具、软件评测工具、数据库管理系统、中间件等。
  • 应用软件种类最多,包括办公软件、电子商务软件、通信软件、行业软件,游戏软件等等。

Linux 基础

在 Linux 系统中,一个文件的访问权限是 755

755 表示该文件所有者对该文件具有读、写、执行权限,该文件所有者所在组用户及其他用户对该文件具有读和执行权限。

如何查看一个文件的末尾 50 行?

查看/etc/profile 的前 10 行内容,应该是: # head -n 10 /etc/profile

查看/etc/profile 的最后 50 行内容,应该是: # tail -n 50 /etc/profile

MySQL 基础

什么是数据库?

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库

什么是关系型数据库,主键,外键,索引分别是什么?

关系型数据库是由多张能互相联接的二维行列表格组成的数据库

主关键字(primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录

外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键

的表被称为主表的从表。外键又称作外关键字

在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,

它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单

Web 测试

nginx,tomcat,apache 都是什么?

Nginx (engine x) 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 服务器。

Apache HTTP Server 是一个模块化的服务器,源于 NCSAhttpd 服务器

Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,属于轻量级应用服务器,是开发和调试JSP 程序的首选。

接口测试

什么是接口

接口是指外部系统与系统之间以及内部各子系统之间的交互点。

包括外部接口、内部接口,内部接口又包括:上层服务与下层服务接口、同级接口。

如果模块请求 http 改为了 https ,测试方案应该如何制定,修改?

分别用 http 还有 https 登录试试。如果用 https 可以正常登录,地址栏显示一把锁头,那么这个网站是有部署 SSL 的。如果 http 和 https 都能够正常登录,进一步说明该网站没有设置强制 https 登录,或者说没有设置 http 链接自动跳转 https 链接;相反如果用 http 登录,结果跳转到 https 页面,说明网站部署了 SSL, 而且设置了 http 自动跳转 https

App 测试

什么是 Android 四大组件?

Android 的四大组件包括:Activity、Service、BroadcasReceiver、ContentProvider

在这里插入图片描述

总结:

由于内容过多,就不在这里就不把所有的知识点内容列举出来,阿里大牛总共整理了有400多页的PDF文档,有需要的可以点击下方小卡片进群免费获取~

你可能感兴趣的:(职场和发展,面试,自动化测试,软件测试,功能测试)