【面小易-面经09】阿里巴巴测试开发工程师面试经验

简介: 又到了“金九银十”的招聘季,各位小伙伴们是不是也在忙着准备面试呢找工作呢?在接下来的一段时间里,面小易会为大家分享各种面试经验哦!请持续关注我。今天要和大家分享的是一位投递阿里巴巴测试开发工程师的同学的校招面试经验,让我们一起看一看阿里巴巴的测试开发工程师都需要什么能力吧。

“我是面小易,机智又聪明。面试不眨眼,Offer不手软。”

我面小易又来啦,今天要和大家一起分享的是一位投递阿里巴巴测试开发工程师的同学的校招面试经验,他的整个面试过程可以说是一波三折,不过最终还是将Offer收入囊中,就让我们一起来看看他在面试过程和等待Offer的过程中都经历了哪些故事吧。

以下为正文

前言

8月17号网申了阿里测试开发工程师,因为我一直用的语言都是C++,阿里的研发又侧重Java,便投了测试开发工程师。对测试岗有的了解就是相对研发而言,可能对语言的要求稍微低一些,但是知识面的广度是要有的。面试之前就针对性地看了《计算机网络》、《操作系统》、《数据结构》、《设计模式》等。当然,虽然是测试开发岗位,编程能力还是要有的,针对我的老本行C++,我看了《Effective C++》,这本书对我来言难度较大,但是硬着头皮看下来还是觉得受益匪浅。不仅是阿里的面试,其他公司的面试也常常会问到这本书里的条例和内容。

面小易说:阿里巴巴的测试岗位基本上都是测试开发,也就是说不光有测试的技能,还要懂得开发,换句话说编码的能力也不能差,只不过可能没有研发工程师的要求那么高,但是也绝对不能轻视编码能力。

笔试

简历审核结束之后便是笔试,测试开发笔试的题目难度不大,难度基本上是lintcode上中等难度的题目,有认真刷题的话编程题都可以做到百分百通过。主要是要注意一下输入输出格式,很多时候做公司的笔试题目,卡死在输入输出上,大概是平时做lintcode题目都是写函数写习惯了,对输入输出格式书写练习不够,这方面还是有待加强。

面小易说:这里也为大家推荐几个联系编程笔试题的网站,比如这位同学用的lintCode,还有leetCode以及牛客网。

一面

笔试通过之后,在九月十号左右便开始了第一轮的面试预约,当时心里忐忑,毕竟还没有面过大公司,便心虚地选择了下午三点多的,想着可以向上午面试的同学取一下经免得到时候卡壳。中午紧张的没有去吃饭,临时抱佛脚。中午开始面试,第一次视频面试,真正开始面试的时候反而不那么紧张了,面试官很和蔼,讲话一股子东北味,顿时让我觉得亲切了一些,虽然是南方人但是听着东北话就恍惚不是一场正式的面试而是唠嗑。

进入正题,开始自我介绍,介绍自己的项目经验实习经验,很巧的是我有过视频图像处理的经验,而我的面试官是阿里优酷的,所以对我做过的项目比较感兴趣,在这边多问了一些。之后给我出了一道编程题,在非常之多的数据里面,数据可以视为一行字符串,有编号,有URL,怎样找到我想要的那一行数据。我当时想着最简单就是遍历查找,当然这代价太大,面试官想要的肯定不是这个结果。于是想着可以先对数据进行排序,之后再用二分法进行查找,在我解释完了之后面试官让我把这段程序写下来,因为共享桌面需要安装插件,于是面试官让我在纸上写了给他看,不需要写的特别详尽,有些复杂的代码可以用伪代码来替代。我写完了之后给面试官看,然后解释我的思路,当然在这道题中也穿插了别的问题,比如二分法做的话时间复杂度是多少,以及怎样来排序等等。

这题结束之后又问了一下测试相关的知识,如测试的流程,还穿插了一些数据库的知识。之后问了一个问题,怎样测试一个搜索引擎的功能,我从功能和性能两个方面回答了,这个问题面试官说是开放式的,能多说就多说,问题结束,一面到此结束。整体感觉,有部分问题没有答出来,不过出的编程题倒是不难,并没有问太多操作系统计算机网络方面的知识。

面小易说:这位同学在一面的时候恰巧谈到了一个与面试官工作比较相关的项目经历,这是很有帮助的,使得这部分不仅有话可以聊,还可以深聊。此外,一面还问了一些算法相关的问题以及测试相关的问题。

二面

一面结束之后的第二天,就收到了二面的预约通知。由于我确认的晚了,只剩下了最早的九点到十点的那一拨,心想无所谓吧早死早超生。同样是又把平时整理的知识点翻看了一遍。二面的早上我一早就来到了一个空教室做准备,二面开始,面试官是个相对严肃的人,例行自我介绍之后问了一些计算机网络的基本知识,TCP的三次握手四次分手,以及进程线程区别,线程之间的通信方式等等。之后也是一道编程题,在一篇英文文章之中查找最短的目标子串。当时想的方法是用两根指针来做,一步步向前查找,为了防止重复,将查找到的结果存入Map中,对查找到的结果,如果是当前最短的则存入最终结果中,如果不是,则抛弃。当时我的思路就是这样的,面试官同样在我详述了思路之后让我写下了代码。这题结束之后照例问了一些测试的基本知识,二面结束。二面相对一面来说我感觉自己表现的更好一些,因为之前有了一面的经验,回答问题的时候更淡定一些。

面小易说:这位同学的适应能力非常强,经过一面,他已经对于着这样的面试方式适应了,因此在二面的时候就会更加淡定。我们在面试时也应该是这样的,无论是电话面试还是视频面试,要尽快适应这种节奏,这样才能把最好的一面表现给面试官。

HR面

二面结束之后我以为就等消息了,便退出了视频,没想到立马接到电话说有HR面。兴奋又忐忑地打开视频,HR面相对轻松,不会问太多技术类的问题,大多问的是你至今最有成就感的一个项目是什么,为什么,对工作地点怎么看。我可能在学历和资历上相对处于劣势一些,本科是南邮毕业,研究生也是考上的东南,并非成绩优异的学生。于是强调自己的自学能力,所幸在本科期间参加过一个省级的比赛并且拿了奖,实习期间也是自学了Cuda,并且写了不少代码。我着重讲了这两段经历,以表明自己虽天赋平平但是努力认真求上进,面试官对我的回答还算满意。面HR面当然必不可少的就是对公司的了解,这方面我之前也有做了一些准备,所以给HR感觉我是了解阿里的并且是很希望能进阿里的,经过一个小时左右的交流,HR面终于结束。

结果

之后就迎来了漫长的等待,大概结束之后二十天左右,阿里那边联系我说,目前过了面试的人较多但是HC只有几个,所以要再进行一次筛选,让我写一份详尽的自我介绍重点介绍自己做的项目与实习经验,突出自己做的项目的难点重点。大概写了500字左右的自我介绍发过去了,心里又悬了一个大石头,生怕最后关头被踢出门外。又一次漫长的等待,终于在14号的时候个人中心变成了待跟进Offer,16号有小姐姐联系我谈薪资和工作岗位,18号收到了录用意向书。

整个过程漫长又一波三折,感触最多的就是一定要好好准备,不放弃任何一次机会,我在实验室属于中下游的水平,自知自己天赋平平,更要努力向上,不敷衍对待任何一次面试,一定就能有满意的Offer!

面小易说:经过了一波三折,这位同学终于拿到了心意的Offer,其实我们也能够从他的经验总结中看出他平时的努力。对于我们而言,无论我们资历如何,天赋如何,只要你有目标,并且有朝着目标努力的毅力,就必将成为最后的赢家。

相关文章
|
1月前
|
存储 网络协议 安全
30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场
本文精选了 30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场。
90 2
|
3月前
|
运维 测试技术
拆分软件测试流程,一张图秒杀所有面试
本文主要介绍了软件测试流程的核心内容,包括需求分析、测试用例编写、测试执行、缺陷提交及回归测试等关键步骤。以迭代测试为例,详细说明了每个环节的具体操作和注意事项,并提供了一张测试流程图以便理解。测试流程确保了软件质量,是面试中常见的考察点。
81 7
拆分软件测试流程,一张图秒杀所有面试
|
4月前
|
网络协议 网络架构
OSPF邻居关系建立失败?揭秘网络工程师面试中最常见的难题,这些关键步骤你掌握了吗?网络配置的陷阱就在这里!
【8月更文挑战第19天】OSPF是网络工程中确保数据高效传输的关键协议。但常遇难题:路由器间无法建立OSPF邻居关系,影响网络稳定并成为面试热点。解决此问题需检查网络连通性(如使用`ping`),确认OSPF区域配置一致(通过`show running-config`),校准Hello与Dead计时器(配置`hello`和`dead`命令),及核查IP地址和子网掩码正确无误(使用`ip address`)。系统排查上述因素可确保OSPF稳定运行。
87 2
|
4月前
|
SQL 安全 测试技术
[go 面试] 接口测试的方法与技巧
[go 面试] 接口测试的方法与技巧
|
4月前
|
运维 Kubernetes 关系型数据库
云计算运维工程师面试技巧
【8月更文挑战第6天】
444 1
|
4月前
|
自然语言处理 网络协议 JavaScript
23.2月 可能七牛云实习测试面试(技术面一面)面经整理
关于2月进行的七牛云实习测试面试(技术面一面)的面经整理,涵盖了多个技术问题,包括马尔可夫链的用处、软件测试工具、TCP/IP协议的三次握手过程、TCP与UDP的区别、网络诊断方法、DNS的作用、ifconfig命令的用途、Spring Boot的优势以及Java中Map的了解,还包括了一个编程题目:在n个书中找出k个最小的数。
|
4月前
|
存储 Java
【IO面试题 四】、介绍一下Java的序列化与反序列化
Java的序列化与反序列化允许对象通过实现Serializable接口转换成字节序列并存储或传输,之后可以通过ObjectInputStream和ObjectOutputStream的方法将这些字节序列恢复成对象。
|
1月前
|
存储 缓存 算法
面试官:单核 CPU 支持 Java 多线程吗?为什么?被问懵了!
本文介绍了多线程环境下的几个关键概念,包括时间片、超线程、上下文切换及其影响因素,以及线程调度的两种方式——抢占式调度和协同式调度。文章还讨论了减少上下文切换次数以提高多线程程序效率的方法,如无锁并发编程、使用CAS算法等,并提出了合理的线程数量配置策略,以平衡CPU利用率和线程切换开销。
面试官:单核 CPU 支持 Java 多线程吗?为什么?被问懵了!
|
1月前
|
存储 算法 Java
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
本文详解自旋锁的概念、优缺点、使用场景及Java实现。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
|
1月前
|
存储 缓存 Java
大厂面试必看!Java基本数据类型和包装类的那些坑
本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
71 4