某大厂测试开发面试总结,大家可以参考一下

文章讲述了作者在一次测开面试中的经历,涉及到了Android技术的多个方面,如RecyclerView与ListView的区别,原生monkey的工作原理,appium与uiautomator的关系,以及Android进程间通信等。作者反思了自己在面试中的不足,强调了深入理解和全面思考的重要性,并分享了面试中遇到的问题,包括内存管理、性能监控和算法挑战等。
摘要由CSDN通过智能技术生成

目录

前言

1、RecyclerView和ListView的区别

2、技术选型的依据

3、原生monkey的原理

4、monkey和monkeyRunner区别

5、appium和uiautomator的关系或者Airtest和uiautomator的区别

6、Android进程间通信方式

7、内存溢出与内存泄露的区别及内存泄漏的原因

8、性能数据收集的方式,举例帧率计算的原理

9、一个长方形切分若干个等面积的正方形的,长方形切割完,正方形个数越少越好,要怎么切?

10、为什么转做测试开发?

总结:


前言

前些天接到某公司的测开面试电话说要聊一聊,想想聊聊也没啥,就当长见识吧。结果半个多小时下来发现自己还是挺“受伤”的,也算有所收获吧。也印证了毫无准备的打战除非自身足够强大,不然就是会失败的。

但是还是挺感谢这个电话的,让我知道了自己的不足:

1、我没有利用好自己的优势,如果不是优势之前的经历或许不值得提太多,不然就是给自己挖坑。

2、看到了自己基础的薄弱,对于技术没有刨根问底,也没好好去研究掌握,随着工龄的增长,浅尝则止注定走不远吧。

3、分析问题可能还是不够全面,只考虑了怎么解决某个问题,而没有想到怎么多种情况,或者说当时回答的时候没有注意这个回答方向。

无论怎么说,吃一堑,长一智,没有做好就总结争取下次做的更好一点吧。

下面说说面试的内容,随便查一下网上的解答,回答的不好就学学咯。

1、RecyclerView和ListView的区别

1)缓存机制不同

层级不同:

RecyclerView比ListView多两级缓存,支持多个离ItemView缓存,支持开发者自定义缓存处理逻辑,支持所有RecyclerView共用同一个RecyclerViewPool(缓存池)。

2)布局效果、常用效果与API等不同

2、技术选型的依据

这个就是带过的说到,并没有具体谈,但是我感觉挺有必要的,面对现在各种自动化技术的发展是用appium,还是Airtest,遍历工具用哪个等等。为什么要用,效率的提升怎么看出来的。感觉是一个可以思考的地方。

3、原生monkey的原理

网上搜到这两个感觉有点知识点,平时没有太注意原理,光知道用也没想着怎么改改源码啥的:

4、monkey和monkeyRunner区别

主要是一个是adb shell 命令触发随机事件进行点击,monkeyrunner是通过API触发执行,可以制定执行步骤,控制输入等等。

5、appium和uiautomator的关系或者Airtest和uiautomator的区别

我回答了前面这个,我说的是uiautomator是底层自动化实现,appium最终也是通过这个实现自动化的,但是没说具体,还是参考网上答案吧。

6、Android进程间通信方式

哈哈,这个丢人了,忘记了。我想说AIDL,没想起来名字,然后说错了一个还胸有成竹的样子,真的是很久没有接触android的知识了,如果要面试也得刷刷android的面试题。

7、内存溢出与内存泄露的区别及内存泄漏的原因

这个大概说了区别,原因和我说的不太一样呢,真是白学了,补课起来。

内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。

内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。memory leak会最终会导致out of memory!

8、性能数据收集的方式,举例帧率计算的原理

我说了dumpsys和top方式,但是面试官说这些本身也会有内存损耗,我问了还有啥方式,哈哈,有点搞笑吧,后面我也想到solo pi里面通过android 的API调用获取,但是没具体了解也没回答好。

9、一个长方形切分若干个等面积的正方形的,长方形切割完,正方形个数越少越好,要怎么切?

主要考思路,不同情况下是怎么处理的,如果是整数求最大公约数,如果是小数的话得另做处理。主要思路是递归。面试官说网上很多答案,我好像没搜到,哈哈。

10、为什么转做测试开发?

这个问题我也在想怎么回答比较好呢,我是说为了职业发展走得更长远,感觉可以再说一下自己喜欢的是什么,符合“喜欢+前景+钱途”应该就是我们选择的原因了。其实,我也不确定这样回答的好不好。

还有一些问题可能没记住,主要是针对我安卓开发经验及现在做的工作问了一些问题,其实很多东西我现在都没用了,如果真的是想换工作的话简历还是得好好更新一下。针对你自己做的,比较有价值的说说,而且要对你写的东西了解,不然人家一深入提问就懵了,面试可能就失败了,比如此刻的我。。。。总结结束!希望接下来自己学习不要总是浅尝则止,多多刨根问底吧。然后算法还是得系统的学习一下,理论不懂也说不出个关键来。最后偶尔学学英语的你还是要自信的speak english! 继续加油吧!

总结:

感谢每一个认真阅读我文章的人!!!

我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。欢迎大家评论区留言或私我领取哦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值