您的位置:首页 > 职场人生

7月11号百度测试实习生面试心得

2017-07-16 22:19 405 查看
2017年7月11号有幸接到百度测试开发实习生的电话面试,虽然自己接触了一年多的Android开发,但是对于测试开没有系统的学习,对于此次面试,我是抱着试一试的心态,当作积累经验。第一回面试百度这个大厂的测试岗位,自己在和面试官小姐姐电话交流的过程中,自己表现的很糟糕,总体来说就是老毛病又犯了,交流的过程中说话结巴,很是尴尬,想说的话感觉有东西堵在嘴边,说不出来,唉。

接下来说一说面试官小姐姐提出的问题吧(只能凭借这记忆来回想了,请读者见谅)。

面试官小姐姐:你先自我介绍一下吧

我回答到:“我是XX,目前大三,大二开始接触Android开发,现在一年多了。”

气氛顿时尴尬,接下来就是面试官小姐姐问问题了。

面试官:“说一下你弄的项目吧。”

我:“巴拉巴拉的说了一堆。”

1:

面试官:“你在的项目里面有没有写日志?”

我:“我们在代码里面一般只是写一些输入输出语句,如Systen.out,顺便用了百度的Bugly(Bugly是腾讯开发的,这里纯属口误)。“

面试官:”Android app崩溃日志的手机和上传有没有接触过?“

我:”项目用没用过。“【貌似Android里面提供了一个LogCollection的类,有兴趣的读者可以去了解了解】

2:

面试官:”进程和线程的区别?“

我:”一个APP程序对应一个进程,一个进程可以有多个线程,线程实际上是进程的缩小版,之后就巴拉巴拉的说了一堆”



3:

面试官:在浏览器中输入一个URL,并按下Enter键,简述这中间发生的事情。“

我:”首先,URL会被放在post方法的表单中,毕竟使用get方法不安全。接着把相应的数据放在session对象里面,随后服务器通过判断此次请求,返回相应的数据给浏览

。“

面试官:”不是这样的,其实应该是URL通过DNS把域名解析成ip地址,然后通过ip地址找到相应的服务器主机,浏览器和服务器建立TCP连接,实现数据的传输。“

我:”你说的是这个啊,我以为你问的是类似与Servlet相关的知识。“

面试官貌似不相信我说的,叫我重复一下她刚刚说的

我:”浏览器中输入URL,通过DNS域名解析把URL解析成IP地址,即192.168.0.0那种,为什么会有DNS呢?因为类似与www.baidu.com这个域名来说,人们方便记忆,而
那些192.168.0.0这些数字不容易记住,所以处于便利用户的目的,才有的DNS域名解析。在得到IP地址之后,在物理层建立物理连接,通过路由表的路由选择算法选
择到合适的路径到达服务器,经过与TCP的3次握手协议之后,建议一个安全可靠的数据传输通道,进行数据传输,相应浏览器的请求,回传数据。“

4:

面试官:”你熟悉Linux命令吗?“

我:”Linux的一些命令我还是比较熟的。“

面试官:”说一下解压缩的命令。“

我:”如果是.zip文件的话,解压缩命令为:unzip “文件名”    ,还有是.tar文件的,我命令不记得了。

面试官:“Android adb 安装apk的命令你知道吗?”

我:“我用的的图形化界面,这个不清楚。?

面试官:”adb 拷贝文件的命令是什么?

我:“我没用过这个命令,不过我想应该是:copy  。”

面试官:”不对。“

我:”mv  。“

面试官:”也不是。“

面试完之后我网上百度,应该是: push

5:

面试官:”说一说你在项目中遇到的一些问题?“

我:”我在开发的时候遇到的问题是内存泄露问题。“

面试官:”能举个例子吗?“

我:”以前我们在处理图片的时候,因为图片没有经过处理然后就加载到内存里面,再者没有进行内存回收,导致消耗内存特别严重,我们知道Android手机一般给一个APP

开辟的内存运行空间为200M---300M,当然,这不是固定的范围,要看不同牌子的手机规格。”

面试官:“你们是怎么处理的呢?“

我:”我们选择把图片按照一定比例,在保证图片不失真严重的情况下把使用比较好的读取图片方法把图片加载到内存中,从而展示给用户,当然,因为我们项目比较小,
用图片的地方相对比较少,所以没有使用LRU(最近最久未使用)的缓存方法。“

面试官:”除了图片,还有其他的吗?可以总结一下吗?“

我:”1:我们使用的对象,在用完之后没有并确定之后不会使用而没有把改对象置为NULL,导致java 虚拟机认为此对象还有用处,并未回收此对象的内存空间

2:对象之间循环引用,例如A引用B,B引用C,C引用A,在这种情况下你单独把一个对象置NULL是没有用的,内存还是回收不了

3:我刚刚说的图片加载也是一个

4:当你用一些数组的时候,使用HashMap会暂用较大的内存,建议使用ArrayMap【当然Android还提供了一个SparseArray】

其他的我就不一一列举了,反正就是一个核心思想:使用了内存记得要回收 。“

面试官:”使用内存要回收是对的。“

6:

面试官:“假如我们要测试微信的语音功能,改怎么测试呢?”

我:“我之前没有接触过测试这一块,不过按我的想法应该是这样的:一个账号在一边点击发语言的按键,发送语音,然后另一个账号能在另一端及时准确的获取发送的内
容,例如,我发送”你好“,你要准确无误的接收到”你好“这两个字。”

面试官:“你说的这个算一点,不过语音转换文字这一部分没有说到哦。”

7:

面试官:”你刚刚说到内存的问题,你知道内存溢出抛出的异常是什么吗?比如空指针是NullExcetion。“

我:”英语我不么会念,我拼给您听吧,S,T,A,C,K,+异常的英文。“

面试官:”不是,你知道OOM是什么吗?“

我:”Memory。“

面试官:”Out Of Memory ,内存溢出 。“

我很尴尬,这里建议读者去了解一下内存溢出和内存泄露的区别【递归一般出现的异常是栈异常,因为递归是用栈实现的】

8:

面试官:”你熟悉SQL语句吗?“

我:”简单的查询,插入,删除,更新我还是比较熟的,其他像多表查询我就不怎么熟了。“

面试官:”现在要你在一张表里面查询某个日期之前有多少条记录,SQL语句怎么写?

我:“ selete from "表名"  where "查询条件"    。”

面试官:“不对,应该是  selete "列名" from "表名"  where "查询条件"   。”

我:“好吧,忘记加列名了。”

9:

面试官:“说一说Activity的生命周期。”

我:“我英文不好,我用中文说吧,创建,显示,暂停,停止,销毁。”

面试官:“不对,创建之后还有一个启动。”

10:

面试官:”你数据结构学的怎么样?“

我:”学的还行吧。”

面试官:“已知二叉树的中序序列为:ABCEFGHD,后序序列为:ABFHGEDC,求二叉树的先序序列?”

我:“当时面试官问我这个问题的时候,我笑着和面试官小姐姐说这样的题我以前做过,不过现在我不一定能做出来,做出来也不一定是对的。”

面试官小姐姐笑呵呵的回答道:“那就换不问这个问题了,你知道int 和 Ingeter的区别吗?”

这题的解答过程如下:

解:
先序遍历:根节点,左子树,右子树

中序遍历:左子树,根节点,右子树

后序序列:左子树,右子树,根节点

请看图解:



所以此二叉树的先序序列为:CBADEGFH



11:

面试官:”你知道int和Integer的区别?“

我:int是整数类型,Integer是一个包装类,是java JDK5.0提出的自动包装箱中出现的。”

小姐姐沉默了一会,说到,面试时间也差不多了,你有什么想问的问题吗?

我:”请问面试结果大约什么时候出来呢?”    

小姐姐:“这要看HR的进度。”

之后就是挂电话前一些寒暄的话语了........

总结一下这次的面试心得吧:唉,不超过10秒钟的自我介绍是硬伤,百度这种大企业对实习生的基础要求特别严格,基础涉及到数据结构,计算机网络等等一些基础知识,只恨自己的基础知识还不是那么牢固,还是趁着现在还有时间好好大牢基础。今天和一位互联网老人聊了一下,他说现在毕业大学生太会吹了,动不动就说面试过哪个大厂和在哪个大厂带过,理论知识回答牛得一逼,但是实际开发能力很差,我只能和他说:“大厂有时间和金钱来培养基础好得学生(985/211),像我这种非(985/211)还不是苦得一逼,大厂校招宣讲根本不会来我们学校,学校位置又偏,招聘信息闭塞,老哥你说的也是有道理得,但是就是太绝对了,相对于一些大学生就是这样得的【眼高手低】,就算进了大厂,如果自己不努力,还不是没啥用,大厂只是有很大几率造就人才而已。”
 老哥这么回答我:“是啊,经验都是加班加出来的,不要随便吹啊。”

还有就是在面试的过程中,因为紧张的缘故,英语说不出来,只能说自己英语真的不好,自己都拼英语单词了,唉,还是太年轻,需要磨砺啊。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: