体验了一下阿里的面试,不愧是大厂,考察范围既有深度也有宽度。努力回想了下面试的内容和自己当时的回答,这里给大家分享下自己的经验, 也给自己做个归档,希望能给正在准备跳槽,找工作的朋友一点帮助!
首面是一个女面试官进行的,主要是测试对编程基础的掌握度,老实说让我认识到了自己对于基础知识的掌握其实并不牢固,摘取一些问题如下:
请说出 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) 。
.....
最后问了平时如何保证代码质量的
全程20多分钟,基本上在聊人生,面试官小哥哥也超nice,问了什么时候有结果,他说两周之内有offer的话会再通知~
自我介绍
项目的收获
项目遇到的难点如何解决
你实习的两家公司有什么优点与不足
为什么春招没有投阿里
未来的职业规划
未来打算定居杭州吗
期望薪资
1.简历准备
2.核心技术及面试题
3.面试技巧
首先你要准备的是简历。简历很重要,这是别人了解你的第一个地方,所以简历要好好写。
个人的主要信息都要以醒目的方式标出。什么是个人的主要信息?例如姓名,性别,年龄,学历,联系方式,工作年限,掉长的技术点,项目经验等。不能让筛选简历的人到处找你的特点,而应当是让这些特点主动地抓住他们的目光。例如,如果一个公司要招聘…位测试工程师,要求懂技术A,而却很难从简历上发现你有与A相关的工作经验或者学习经历,你入选的概率会大吗?可能面试的机会都会很少。我们可以通过一些简单的方式来着重强调我们的主要信息,例如把字体加粗,或者让它们单独占一行,或者用其他方式。我曾经接触过一些简历,需要我从头至尾反复看好几遍才能大概看明白,需要我去总结“中心思想”。如果工作忙没有时间的话,这样的简历往往就被忽略了。
如果你对一门技术或者一个职业有自己的深入的理解,可以写出来。这种理解因为是自己归纳的,所以往往比通常意义上的“自荐信”还要有效果。例如,如果你想申请份测试工程师的工作,而你对这个职业有自己的理解,你可以在简历中安排一个小段落来叙述你的看法。这一部分并不是简历中必须的,有则锦上添花,没有也没有关系。只有对要陈述的对象有深入的了解的时候,再去写才比较好。如果不熟悉,反倒是搬起石头砸白己的脚。所以,做之前,慎重考虑一下。
现在公司衡量一个人是否合格,他的工作经验占据很重要的权重,这在软件行业尤其明显。因为工作经验很重要,所以请在简历中开辟一个专门的区域去详细叙述它。项目的名称、起止时间、所用技术、你的角色和职责等,都要说清楚。—旦公司在你的工作经验中发现了他们所期望的或者相近的,你得到面试机会的概率会比较大。没有工作经验或者经验缺乏的朋友也不可忽略这一部分,自己的实习项目、学习项目都是可以写的。如果一点相关内容都没有,简历会显得很单薄,没有竞争力。
面试常考的核心知识点包括以下点:
测试开发工程师面试,技术面试过程中,有以下这些点, 是一定会考到的【按照优先级排序】。
1.自动化测试知识 + 测试基础知识。
2.项目经历。
3.开发语言知识 Python or Java。
4.网络知识。
5.数据库知识。
6.操作系统知识。
7.算法与数据结构知识
8.解决问题能力 + 未来思考能力
软件测试快速面试指南目录:软件测试基础、MySQL、Linux、接口测试、性能测试、python基础、计算机与网络、编程题等等…包含了作为一个软件测试工程师在面试中需要用到或者可能用到的绝大部分知识!有需要的“打工人”免费分享,可以关注个人公众号圈子:程序员一凡 获取分享方式
软件测试120道技术面试题解析
Python106道面试题解析
MySQL35道面试题
由于篇幅原因,还有接口测试、性能测试、python基础、计算机网络、操作系统等专题就不做展示了!这份手册已准备了在线版和离线版,有需要的朋友点赞+关注后 留言 面试指南 作者会一一回复的!
答不出来怎么办?
面试中有一些问题很难,但是不要放弃,要不断尝试。很多时候,面试官并不期待你能在很短的时候内解出一道难题,他只是想看一下你遇到难题时的态度和思维方式。如果你能证明给面试官看,你解决问题的方向和方法是正确的,就算是没有找到答案,也是很不错的。
尖锐问题
1、你为什么要离开现在的公司?
这种问题一般都是来问你的离职动机的,招聘方有理由相信,你是怎样离开前东家的,就会怎样离开我。如果你开始抱怨你现在的公司了,很可能会引出很多问题把你问到最后都抬不起头来。当然,你也可以说前公司的问题,比如︰自己主导的项目被公司废弃了、公司转型了、公司业绩下滑了、在现有的公司没有成长空间了…这些都是可以说的。
2、说一下你的缺点?
这个问题也是很难很难回答的。
其实任何性格的人都有问题,比如,对我来说,我个是比较着急的人,急性子,而且是个做事的人。所以,我最大的问题就是在推进一些事的时候,会忽略别人的感受。当压力变大的时候,我甚至会说出一些别人难以接受的话(俗话说的情商为零)。
但这个不是最佳方法,缺点一定要附带正面效果。比如,我对事情的要求太高了,跟我在一起工作人的压力太大。我太内向了,所以别人和我沟通起来有点费劲。我太过关心团队了,所以,有时候会忽略了项目成本和时间进度……
最后还要补一句,我知道我的缺点,我也在努力改正,我正在通过什么样的方式改正。这非常关键,因为这基本上是面试官最喜欢看到的答案了,就是你不仅能正视自己的缺点,而且还能不断地改正。
3、说一下你的优点?
这个问题是比较坑的,你的优点是需要用证据来说明的。
很多人的通用回答是,我的优点就是学习能力强,因为我掌握的技术面很广,而且,我什么样的技术都学,比如最新的Cloud Alibaba技术。还要回答这个问题的时候,一定要反衬出你的价值观,HR就是想了解你的价值观。比如,我比较踏实,我想把技术一直做到老。再比如,我有韧性,我受过哪些挫折、失败、不公、无奈和无助,我没有当逃兵…
4、你为什么换工作换得这么勤?
很多公司的HR都会对应聘者频繁换工作持比较负面的评价。频繁换工作在职业生涯中真不是一件好事,因为用人方会觉得要么是你太不踏实了,要么是你太不行了。所以,工作不要换得太频繁。但是如果换得太频繁了,我给你一个建议,在简历里面写上离职原因。