如何面试质量工程师 Android 工程师

查看:9364|回复:24
今天是我入职一个创业公司的第二天。由于公司今天才把自己用的电脑买回来,只好今天在做着每一个技术人员入职第一天常做的事:安装相关开发软件,配置开发环境。
在安装软件的过程中,由于下载最新版的android studio比较缓慢,只好在下载过程中随便翻翻。然后,看到一个开发群里,一位朋友还在聊面试的事,他在那里说,今天又没有面试通知。听了之后,感慨万千,这样的感受我也有过很多次。
至于为什么敢称自己“面霸”,一来有噱头的成分,二来,确实自己面试了很多次。这不是自己有什么自豪的地方,确实是因为自己的工作经历有点特殊。差不多四年的时间,换了四份工作,每一次换工作都会不得不开始找工作。有些是因为个人发展原因,有些是因为一些公司项目组解散,公司管理方面的原因。
去年我最多的一次面试是一天赶四家面试,我以为从那以后,再也不会有这样的情况了。但是,上周找工作,一周面试了15家,除了第一天面试了一家,后面四天的面试是3个,4个,3个,4个。一天四场面试,中午都是没时间吃饭的,饿着肚子跑了一天。最后拿到了三个比较满意的offer。在上海的两年,因为换工作,上海的地铁线,除了一个最近新开的16号没走过,其余的都走过。然后也遇到过各种奇葩、坑爹的面试。面试我的人组长,主管,技术总监,CTO,老板,还有不懂技术的各种人物,有上市公司、初创公司,外包、外派公司,有互联网公司,IT公司,也有什么销售、广告、传媒、金融公司。说了这么多,不是说自己技术好,我只是因为自身的经历,看到了很多现象,才想说出来,能帮到一些找工作的朋友,就善莫大焉了。
这里简单说一下自己的情况,大专学历,之前学的机电,然后参加一个Java培训,培训之后,自己发现javaee开发需要用到的知识太多了,然后,自己刚好那个时候接触到android,于是,就想做android开发。
第一份安卓工作,自己进去差不多就是实习生的身份,因为公司给学习机会,可以一边学习,一边跟着做项目,所以,到现在还是很感谢当初第一份工作。
当然,说到刚开始找工作,因为没有android开发经验,去网上搜了很多职位,投了简历都没反应,搜了很久才找到那家公司,要求很低,实习生都可以,我才去面试,还有上机测试,但是,因为测试的都是基础知识,然后,那家公司是在一个县级市的软件园区,估计,也因为去面试的人,加上当初自己表现的比较愿意学习,老板才给了这次机会。不管怎么说,我从心底感谢第一份工作。
这里的体会是:当你工作经验很少时,你找一个工作要付出很多努力。有很多人说,没人通知面试,面试机会少。刚开始确实是这样,但是,你自己要去找方法。比如:多在几个网站上投,不要怕他们要求高,你条件达不到,万一有面试机会呢?另外,有时间多刷刷简历,一般上午10点左右,下午2-3点左右刷一下简历,这两个点是hr看简历相对集中的时候。另外,你经验少,你要表现出两点,一、基础知识要扎实。二、愿意去学习,至少你要表现出一副以后愿意在这个方向好好学习的样子,要不然,别人干嘛要你?谁愿意去培养你。
说到基础知识扎实,有人说我不扎实,这就是你的问题了。另外,急着找工作,怎么办?
你就搜搜大多数的面试题经常问那些问题,提起多看几遍,不至于问到的时候,根本不知道说什么,至少你能说出个大概也比什么都说不出来好。当然,这不是教你诈,是你找到工作后,要赶紧把自己薄弱的地方补上来。
记得刚开始学Java时,经常会被问到一些问题,比如,Java的三大特性,抽象类与接口的区别,重载与重写,单例模式,递归算法,多线程,这些经常碰到的问题。放到安卓上,可能刚开始经常会问道一些基本的知识:比如,4大组件,5大布局,listview,Intent的使用。面试时这些最常用的知识你要知道,要说的上来吧。
刚开始工作的一两年,面试的时候,碰到出面试的公司大概90%以上,当然,这个各种公司参差不齐的,有的是自己出的有深度的题,有的是从百度上搜的一份打印的,我见过几家直接能搜到原题的面试。先不说出面试的公司怎样,说说我碰到的各种面试的,有全英的,有全部是逻辑题的,就是给你三个图形,让你推测第四个图形的,有面试安卓开发,出了一对c++和sqlserver的题的(公司是做游戏的)。有些面试题做起来真的是浪费时间,如果你感觉这家公司很不满意,就礼貌的说出来,不做了走人吧。如果是正儿八经的面试题,你做不出来时,最好能写写大致的思路,有时候也能算做对的。
说到面试题,有的公司的面试题,真的是多年不变的,我碰到过两家公司,隔一年去面试,还是那几道题,当然有家公司第一次面试过了,因为面临其他的一个机会没有去,第二次面试还是那些题,依然也过了。但是,同样的题,不同的经验,你要答出不同的答案,至少要比之前你回答的更有深度。
其实,你工作大概两三年之后,面试做面试题的公司已经很少了,但是也有15%左右,还是会有面试的。只不过,更多的会问你项目情况,一些实际的开发方面碰到的问题。
比如,现在经常会问到一些,listview的优化技巧,自定义控件的步骤,异步加载方面,jni,ndk,然后一些开源框架,开源控件的使用,并且经常被问到,这些开源控件的源码你看过没有。因为相信大家都明白,很多开源控件都用过,但是,真正去看他们源码,去改他们源码的,恐怕不多吧。还有一些框架设计,安卓源码方面的问题。当然,如果你带过团队,也会问一些团队分工,管理方面的问题。
我记得一个同学的qq签名是,能力越大,责任越大。我想到的是,人是要不断成长的,当你不断的成长的时候,你的责任是不自觉的加给你的。比如,你三年经验做的事和一年经验做的事,肯定有不少差别的,当然你们待遇也有不少差别。
面试,真的是个体力活加脑力活。你一次次面试,要学会总结,其实,从面试中,我们能学到很多东西。比如,你去一个公司面试,要记得看公司环境,地理位置,公司环境,办公室设备,都能看出一个公司资金背景情况。因为,上海这个城市,真的有很多坑爹的创业公司,说白了就是几个人想到一个app创意,就组建一个团队开始做,做不长,资金或者融资跟不上就死掉了。我面试过一家在唐镇的“公司”,我拿着地图找到那里之后,“公司”对面还有人在炒菜,闻起来应该是洋葱炒鸡蛋。公司是直接在小区里租的那种三室一厅,然后,把了七八台电脑,还不交税,直接发现金,我随便聊聊就赶紧走了。其实,这样的公司上海真的很多,见过好多小区房里面上面挂着“禁止在住宿房办公”牌子,但是里面是一个个小公司在关着门上班,第一道大门还在里面反锁着。还有一些所谓的高新园区,集电港什么的,里面一两个小房间,密密麻麻的摆了十几张电脑桌。我不知道,里面上班的人做何感想。我只能说,我们程序员真命苦,要在这样压抑的环境中上班。
所以,对于面试,我个人的推荐是,如果刚毕业,外包、外派的这样的公司,可以迅速的通过大量的项目开发提升自己的技术水平,但是,不要待的太长,除非你有机会进到管理岗位。一般不要超过两年。
两年以上经验的话,有机会进一些大公司,比如,一些大型IT公司或者互联网公司,这样最好。如果进不了大公司的话,进创业公司也是一个不错的选择,关键是,你进一个什么样的创业公司。最近几年移动互联网的发展,造成很多创业公司或者很多创业团队,想到一个点子,或者他们所谓的创意,就迅速的招三五个开发人员,开始开发,开发几个月之后,项目over了,团队解散了。对于创业公司,你一定要擦亮眼睛,进去之前,要问清楚公司做什么产品,公司的团队构成,从一些背景方面,了解公司的资金情况,在要做的产品方面的资源优势,如果产品前景不好,公司有没有资金或者资源优势,这样的创业公司你要慎重考虑了。不要轻易的听信一些面试官,或者老板的忽悠,拿什么前景忽悠你,只能说这么多了。
说一些面试的坑爹经历:
1.一家公司,在一个火车站附近的商业大厦里,进去之后,一看就三个中年人,摆了几台电脑,屋里光线很暗,上来让填一个表,刚准备写,犹豫了一下,我说,不好意思,我不喜欢这样的工作环境(太压抑了),把表还给他们,走了。
2.有一家金融公司,准备组建团队做自己的金融app,(发现15年准备做自己金融APP的公司特别多)。进去面试,三个西装革履的人,提各种问题,从开发细节,到产品流程,到产品与开发的沟通,问得非常详细,坑爹的地方在于,三个人都拿了一个笔记本,我回到的一些问题,他们觉得重要的都记了下来。比如,我说,我们开发一般需要一个功能文档,和ui流程图、UI效果图。问了一个多小时,他们也记了一个多小时。然后,等通知,没有下文。分明就是想免费了解一些项目开发方面的东西。
3.刚来上海时,有一家公司面试要上机,一定要我建个工程,写个东西,哪怕只是一个button点击事件。
4.面试一家公司的android开发,给了一份c++测试题和一个SQLServer方面的题。我以为拿错了,又问了一下前台,她说,我们招android的就是做这个题。
5.碰到过一家公司的填表问,“你为什么要应聘工作?”、“你家庭生活怎么样?”类似的问题。
6.一个公司在居民楼里,对面的房间还在炒菜。就是上面说的,洋葱炒鸡蛋。
7.去一个比较大的公司,看到填表上有,一面,二面,三面,四面。礼仪评分,穿
着评分,口才评分....问题是,一面是10分钟结束,二面要等下次。为了这一个面试你要跑四次。遂一面之后,放弃。
8.还是一个金融公司的面试,面试馆拿了一个厚厚的打印资料,回到问题的时候,看他翻页,无意间瞥到了首页上写着几个打字“安卓面试题集”,问的问题,乱七八糟。五大布局叫什么名字,activity的生命周期,java的三大特性,aldi叫什么,等等,很多是一些基础的,网上搜来的面试题。
9.有一家公司,打电话过去面试,我刚填完面试表,刚做完大致介绍,说,我们给不了你这么高的薪资,然后,薪资擦了一大截。然后,结束了,
10.四张全英的面试题,中间两页是逻辑图,全是什么图形推断,数字推断的题。
11.过去先做一个小时的试题,做完了说,先回去吧,我们会电话通知的...
印象比较深刻的就说这几个吧,还有其他的一些,什么过去面试等半天,不懂技术的人,揪着你一个问题一直不放的都有。
说一些面试准备方面的问题:
1.提前查好路线,乘车方式。(我一般是写在纸上,包括联系方式,然后用百度地图,不过,有定位不准的情况)
2.提前了解一下面试公司的一些职位信息,大概需要的一些技术点,可能问到的一些问题。
3.无论是多大的公司,自己多心仪的公司,或者自己不喜欢的公司,都要尽量淡然对待,保持自信,哪怕装你也要装的有自信的样子。
说一些面试收获上的东西,之前看到过一句话说,你要割一段时间就要刷新下简历,不要在一个环境里待的太久。先不说这句话的对错。不同的人有不同的理解。我是因为有些自身的经历,换工作城市,进的某些公司项目组解散,等等原因,才造成换工作比较频繁。不得不一直走在面试的路上。但是,在面试过程中,自己也确实学到了不少东西。跟一些CTO,技术经理面试,他们有的提的问题,包括给的一些建议都很中肯,有一个技术经理也跟我分享了他刚毕业几年的工作经历。还有之前去国内一个微博巨头公司下的一个游戏公司面试,那位美丽的hr负责人姐姐,也给了很多建议,让我弄清楚了自己到底想找什么样的工作。因为刚开始几年,通过跳槽,确实薪资提升比较快,但是,5年以后呢,如果技术没有深入的一个方面,恐怕就不能持续发展了。
说到上个星期之前,其实找到了一家,但是只上了一天班。第二天,我做公交做到地铁站,徘徊了很久,没有进去,就没去那家公司了,虽然那家公司给的薪资不低,离自己住的地方也进,但是,公司一些其他资源不足,能很清楚地看到那一个项目做不长,自己不想做几个月之后,再换工作。然后,才有了上周比较疯狂但是有选择的面试。
说了这么多,只是想分享一些自己的切身经历和感受,希望能给一些最近正着找工作的朋友一些帮助。每个人都有自己的独特性,存在的都是合理的,技术人千万不要唯技术论,觉得自己技术很牛,就可以目无别人,别人比你薪水高,比你受欢迎,一定有他独特的地方。每个人的经历不同,你要找到适合你的方法,你才能更好的在自己的路上走下去。
回首向来萧瑟处,也无风雨也无晴。
梦里不知身是客,一晌贪欢。
我们需要这个
引用:原帖由 cs 于
10:31 发表
多谢,共勉。
此人很懒,暂时没有什么介绍。
初级工程师
学会分享也是一种成功
高级工程师
话说现在不面个几十次能找到心仪的工作吗
好久不见 小麻子写这么多的长篇内容了哎 甚是怀念
我竟然看完了 面试的总结和经验真的很重要,有很多人因为面试的表现和自己的实际能力不符,而错过了属于自己的机会
引用:原帖由 kwang23 于
11:19 发表
学会分享也是一种成功 总结,分享,也是一种提示。
此人很懒,暂时没有什么介绍。
引用:原帖由 禁语 于
14:01 发表
话说现在不面个几十次能找到心仪的工作吗 心仪的确实不容易找,就像找妹子一样。
此人很懒,暂时没有什么介绍。
引用:原帖由 小_云 于
15:39 发表
好久不见 小麻子写这么多的长篇内容了哎 甚是怀念
我竟然看完了 面试的总结和经验真的很重要,有很多人因为面试的表现和自己的实际能力不符,而错过了属于自己的机会 ... 好久不见,小云,快一年没写东西了。纷纷扰扰的事,太多了。。。
此人很懒,暂时没有什么介绍。
云南青才信息科技有限公司
云南青才信息科技有限公司与深圳盈诺德信息技术有限公司战略合作,由“深圳盈诺德”提供完整的开发应用平台,开放源代码给“云南青才”,并提供全面的技术培训和支持。
& && &&&各自对所选择的行业应用进行深度研究、开发和营销。云南青才选择“教育行业”进行研发、销售的全过程软件解决方案服务。
& && &&&云南青才同时拥有“盈诺德”标准产品及企业项目定制产品的云南独家代销售理权,后续研发、服务由两家公司共同完成。
& && &&&云南青才致力于做好“云南移动应用解决方案专家”,并依托“教育应用”走出云南、走向全国,与深圳盈诺德一起成为中国的“移动应用整合服务提供商”。
& && &&&深圳盈诺德是Oracle金牌伙伴,是Oracle唯一移动产品验证的中国厂商,拥有9项国家著作权,2项产品专利技术,在深圳与Oracle共建企业移动方案解决中心。拥有数百家Oracle ERP企业客户,其中上市公司19家。移动应用在50多家国内知名企业成功落地。
Android开发工程师
任职条件:
1、计算机及相关专业本科及以上学历,或者技术特别优秀者;良好的Java技术功底;
2、熟悉Android下的UI设计;熟悉Android下网络通信机制,对Socket通信有经验;
3、熟悉Android OS系统体系结构、framework、以及底层库优先;
iOS开发工程师
1.本科及以上学历,三年以上iPhone、iPad应用开发经验。
2.具备扎实的C/C++或者objective c及XCode/IB 编程基础,熟悉设计模式,及socket 与多线程设计 。 
任职要求:
1、工业设计、美术设计、平面设计、广告设计、数字媒体艺术等相关专业为佳。
2、熟悉图形处理软件(PhotoShop、Dreamweave、Flash、Illustrator、ExpressionBlend等其中一种或多种)。
C#开发工程师
任职资格:
1、掌握c#编程语言和.NetFramework框架,了解.netMVC优先考虑
2、掌握SQLserver或其他数据库,能够熟练编写存储过程
前端开发工程师
1、能根据UED的设计进行前端实现。
2、辅助进行系统的功能定义,程序设计;
3、根据设计文档或需求说明完成代码编写,调试,测试和维护;
4、分析并解决软件开发过程中的问题;
5、协助测试工程师制定测试计划,定位发现的问题;
移动APP测试工程师
1、独立负责移动平台产品的功能、安全和性能测试工作;
2、搭建项目测试环境、部署测试系统,组织完成测试工作;可以独立完成软件功能测试和集成测试。
JS开发工程师
岗位职责:
1、根据UI设计师提供的设计图,实现Web界面,优化代码并保持在各浏览器下的良好兼容性;
2、Web前端表现层及与后端交互的架构设计和开发;
3、JavaScript程序模块开发,通用类库、框架编写;
HTML工程师
岗位职责:
1.设计和开发 HTML5 游戏客户端;
2.与需求人员和测试人员沟通和合作;
3.提供设计和技术文档;
任职资格:
1、反应敏捷、表达能力强,具有较强的沟通能力及交际技巧,具有亲和力;
2、具备一定的市场分析及判断能力,良好的客户服务意识;
3、有团队协作精神,善于挑战。
福利:以上岗位5K/月—10K/月
五险一金、年底双薪、带薪年假、节日福利、员工旅游
上班时间:
早上9:00-11:30下午13:00-17:30&&周末双休
地址:高新技术产业开发区二环西路625号云铜科技园思普科技大楼C座5楼
联系人:李老师&&联系电话:
认认真真看完了
偷得浮生半日闲
写的很好,我之前erp3年开发,1年互联网测试。。最近找工作,去过软通面试,那个项目经理问了业务,测试流程上的一些问题,面试了一个多小时,他知道我的不足,加之我开价9k,最后没有要我,自己也很开心。。 最近去的一家奇葩公司,把我之前的p2p业务都问遍了,同时不停的和他们的系统比较。。后来屌丝hr过来,问我上家为啥辞职,我说:家有事,姥姥病了,照顾,休假了3周时间,回来不得不辞职,。。丫的说:好了没有。。这个有必要我们做个背景调查。。丫的忽悠我,我恼火了,调查吧,随便调查。。
引用:原帖由 yueshuangshuang 于
10:39 发表
写的很好,我之前erp3年开发,1年互联网测试。。最近找工作,去过软通面试,那个项目经理问了业务,测试流程上的一些问题,面试了一个多小时,他知道我的不足,加之我开价9k,最后没有要我,自己也很开心。。 最近去的一家奇葩公司,把我之 ... 是啊,各种奇葩面试都会有的,习惯了就好。
此人很懒,暂时没有什么介绍。
引用:原帖由 紫色的茶碗 于
21:34 发表
认认真真看完了
此人很懒,暂时没有什么介绍。
助理工程师
正计划着换工作!
楼主很强大呀。。。。
提示: 作者被禁止或删除 内容自动屏蔽
引用:原帖由 数列求和 于
11:46 发表
正计划着换工作! 换工作要谨慎选择啊。
此人很懒,暂时没有什么介绍。
引用:原帖由 Gavin09 于
18:16 发表
学习了! 互相学习。
此人很懒,暂时没有什么介绍。乐视网Android高级开发工程师:面试题目 - 乔布简历
打开微信,扫描二维码
点击微信右上角,分享到朋友圈
面试经历:
三面,4个技术人员面试的问题不是很难。问题如下:
1、 Service两种方式的区别
2、 Handler在项目怎么用的,线程间如何通信的
3、 AsyncTask和AsyncQueryHandler
4、 HttpClient,HttpUrlConnection的区别
5、 消息推送机制xmpp协议,客户端发送服务器好处理,只要知道服务器IP就可以,服务器如何给客户端推送消息呢
6、 oauth认证
7、 HTML和XML的区别
8、 多线程断点续传下载如何实现续传的
9、 TCP、UDP的区别
10、 aidl开发
11、 Android中JNI和NDK的使用,了解WebService调用技术
12、 Android安全机制,垃圾回收机制
14、 屏幕适配
15、 android ui的几个概念:px,dip(dp),sp,dpi,分辨率等,dpi是在Android资源随着不同手机的分辨率自动进行适配,res-》drawable-hdpi
16、 Launcher如何设置壁纸
17、 baiduMap如何用,用百度地图的坐标为甚么显示pc会出现很大的偏差,如何避免呢?
18、 哪个项目是你印象最深
19、 Xml中head和body有什么联系
本文整理自看准网。
更多校招资讯请戳:面试对于程序员来说是很重要的事情,面试结果的好坏直接决定了能否进入某个公司以及以什么级别和待遇进入某个公司。这篇文章主要针对Android开发者的面试,以下是安卓大牛给面试者的几个建议。
什么是合适的候选者
在介绍如何面试之前,这里先从公司的角度来分析:”到底什么样的候选者是公司所需要的技术人才?“就我在百度的一些面试官经验来说,一个具有如下特征的Android程序员是我们所需要的:
1. 具有本科及以上学历(名校更好)
2. 具有2年及以上的工作经验(名企更好)
3. 技术扎实,有技术追求和工作激情
4. 良好的沟通和协作
在上面的四条中,其中第3条是最为重要的,即技术,在百度技术是大家所推崇的,因此技术是决定能否通过面试的最重要最直接的原因。一般来说,越是大公司,其对技术的要求就越高,尽管部分岗位并不需要那么好的技术,但是为了对候选者做出区分,其面试过程仍然会面试一些稍微深入的话题,相信大家都有所体会。
除了技术以外,良好的沟通和协作能力也是比较重要的。也许很多人觉得这个比较抽象,心里会想:”你怎么知道我有没有良好的沟通和协作能力呢“?其实这个问题并不难,面试过程就是一次沟通过程,如果不能和面试官很好地沟通,这就说明候选者的沟通有问题。如何很好地和面试官沟通呢?给如下几点建议:
–礼貌和尊重。
–听懂面试官的问题并直接回答。
有些候选者听不懂面试官的问题,还有些面试者总是不直接回答问题,或者也许是不会的原因,就开始转弯抹角甚至转移话题,我认为这是很不好的,人要用于承担,即使这个问题不会,那也可以大声地说出来”不好意思,这个我不太会“,甚至还可以虚心地请教下面试官,面试不仅仅是一次找工作的过程,也是一次自我学习和提高的过程。大家要知道的是,不是必须全部答对问题才能通过面试,只要大部分问题能回答出来并且候选者的态度良好,那么这样的候选者仍然能通过面试,当然态度不好的候选者,即使技术很好也很大可能通不过面试。
–谦虚谨慎、态度友好。
有些候选者在面试的时候不谨慎,给人一种随意的感觉,比如坐姿不端正,翘着二郎腿等等,换句话说就是别太随意,作为面试官公司都要求不能太随意,何况候选者呢!太随意的举动会给对方一种不被尊重的感觉。关于谦虚,这个就不必多说了,任何时候都要谦虚,面试过程中骄傲自大(俗称”得瑟“),是很容易被毙的。态度友好,就是要让面试官感受到你的诚意,这样大家沟通起来才比较舒服和自在。
下面对学历和工作经验做一些说明,学历并不是一个硬性要求,即使候选者学校不怎么好也是有可能通过面试的,这就要求候选者技术非常扎实。而工作经验,之所以是2年以上,这是因为社会招聘的对象一般都是有一定工作经验的,而1年工作经验略短了点,拿百度来说,社招的最低级别一般为T4,差不多刚好就是2年经验左右。
这里做下总结,理想的候选者应该是这样的:
1. 扎实的技术功底,有技术追求(必须)
2. 态度、沟通和为人都很好(必须)
3. 2年左右工作经验(基本必须)
4. 名校、名企、高学历(非必须,加分项)
基本来说,满足1和2就能通过面试,3和4都是次要条件,但是一般来说不满足3就很难满足1,不要说特例,木有参考意义。
由此可见,技术是面试结果的决定因素。那么到底技术掌握到什么程度才能比较轻松地通过面试呢?说了那么多,好像和Android没有一点关系,下面就开始以Android为例来分析下面试过程所需的技术。
Android面试过程所需要掌握的技术
一场面试都有一个流程,拿Android面试来说,面试内容不可能全是Android问题,里面应该会有编程基础相关的问题。我对Android面试中的问题做了下分类,如下所示:
一般来说,一个Android应用开发岗位是不需要太强的数据结构和算法的,但是这并不意味着候选者可以完全不懂数据结构和算法,所以数据结构和算法大家还是要稍微了解下,由于它不是必须的,所以就算面试过程中回答的不好也没关系,只要后面的Java、Android相关的问题能够完美回答就好。有同学和我反馈,说面试挂在了数据结构和算法,这在社招中应该是不多见的,这多半是因为Android的问题也没有很好地回答出来,这就是社招和校招的不同之处,校招看基础,社招看技术深度和业务。
关于设计模式和架构,其实中高级面试对这个的要求并不是特别高,熟悉下常见的设计模式基本就ok,比如单例模式、工程模式、观察者模式等。
接下来主要描述下面试过程中对Android技术的要求。我对Android的技术类别做了一下划分,如下所示:
对于大部分面试者来说,大家的目标岗位应该是中高级,中级岗位(百度T4)需要掌握的知识点是:基本知识点、深入知识点;高级岗位(百度T5)需要掌握的知识点是:基本知识点、深入知识点、基本知识点的细节和系统核心机制。
1.基本知识点
比如四大组件如何使用、如何创建Service、如何进行布局等。这类知识是需要熟练掌握的,并且也没什么难度。
2.稍微深入的知识点
比如AIDL、Binder、多进程、View的绘制流程、事件分发、消息队列等。这类知识对于高级开发者来说也是必须掌握的,然而相信很多候选者在面试之前并不能对这些问题了如指掌。这些问题基本都是面试过程中很常见的问题,也是高级岗位所必须掌握的问题,不搞定这些问题无法达到百度的高级工程师的标准,因此也不可能通过面试。
3.基本知识点的细节
比如Activity的启动模式和标记位、Service同时处于start和bind状态时的停止问题、AsyncTask的同步异步问题以及使用时的限制等,这种问题还有很多。这类知识点,大家在开发过程中可以并不会去注意,这会导致一个问题,那就是开发应用没问题,但是在面试时面试官只要稍微问下细节或者特殊情况,就hold不住了。 这类问题也是高级开发者所需要掌握的,有些面试官喜欢问一些看似刁钻的问题,但是候选者如果回答不了也是不好的。
4.系统核心机制
比如主线程的消息循环、主线程如何和AMS如何跨进程交互、SystemServer进程中的各种Service的工作方式、AsyncTask的工作原理等。这类知识对于高级开发者也是建议掌握的,因为它们可以让开发者理解Android的运行体系。 这类问题并不是所有的Android面试都会涉及到,但是技术含量高的大公司有可能涉及此类问题。
5.琐碎的知识点
此类知识点我把它们定义为一些重要但是没有什么技术难度的问题,比如如何打开一个网页、如何打电话、如何发短信、如何定位、多点触控等,这类问题往往不好记忆,但是需要的时候去查一下就能立马搞定。这类问题基本上不会出现在面试过程中。
大家结合自己对Android的学习过程以及面试经验,在面试中遇到的问题是不是都是包含在上面的5个分类之中呢?对于1和5相信所有人都没有问题,但是对比2、3、4中的内容,大家是不是都能很好地Cover呢?换句话说,如果2、3、4中的内容大家都能很好地掌握,面试中的问题还能难倒我们吗?在前面的分析中提到,技术是觉得面试是否成功的关键因素,那么在面试前要做的就是把技术搞好,同时注意沟通和态度,这样的话通过面试岂不是很简单的事?
<span class="tipso_style" id="tip-p" data-tipso='
您可以选择一种方式赞助本站
1,626 views}

我要回帖

更多关于 如何面试测试工程师 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信