1. android工程师面试一般会问哪些问题
1. Android经验
如果不是校招,Android经验是必须的,我比较喜欢问一些基础概念与技术原理,比如Activity、View、Window的理解,各LaunchMode的使用场景,View的绘制流程,Touch事件机制,Android动画的原理,Handler, Looper的理解,Android跨进程通讯的方式,Binder的理解,Android Mashup设计的理解等等。
2. java水平
基本上就是Effective Java那本书里提到的东西,如果你背完那本书里的问题,并且对答如流,没问题,就要你这样的。其实也会考察关于final用法,反射原理,注解原理,java编译过程,GC等一些常见问题。
3. IT基础知识
其实就是计算机科班学生学校里学到的一些东西,在校招时这块是重点,社招会放宽,但一些基本的常识是要有的,比如不少人都不知道http的get post有啥区别,https的那个s是什么意思,讲不清进程与线程的概念,不知道二分算法是个啥东西。这些简单问题的筛选,可以过滤一些所谓野路子的程序员,是不是科班出身不重要,搞这行就得对一些基本常识有概念,不然以后怎么愉快的交流呢?
4. 代码质量的认识
我们需要的是一个对代码味道有感觉的人,关于这点,看下《Clean Code》就够了,面试中这点其实不好考察,可以让他聊一聊对代码质量的认识,虽然不能排除对方夸夸其谈,至少想法不多,只能提到命名风格这一点的人是不符合要求的,也可以在写Code的环节中观察。
5. 技术视野
比如对Android开发新技术的了解与学习,对其它流行技术领域的了解,这其实与我刚才提到的技术广度的考察有关,就我面试过程中,发现很多非互联网行业的从业人员,因为公司各种操蛋规定与公司技术氛围的原因,技术视野相当狭窄。
我个人对这点深有体会,2011年我还在传统行业从事软件研发,当时的公司因为担心技术信息泄露,不让上网,相当封闭,我个人虽然自认为已在那个行业内做到业内专家的级别,但总感觉哪里不对,有一天我很兴奋的打算跟身边同事聊一聊Android的时候,发现他们居然都不知Android为何物?2011年啊同志们,当时的震惊无法言表,深切感觉到需要作出改变了,毅然放弃多年行业积累,转战移动互联网,直到现在。时至今日,多年前的小伙伴也有很多混出了名党,开始走向人生巅峰,我也从来没有后悔当初做出的选择。
6. 技术想象力
一个优秀的技术人,如果知识的深度与广度足够,知识已成体系,那么他对于一些从未接触过的领域,也是可以做出足够合理的想象与判断,面试过程中如果问到一些领域候选人没有涉猎,这时候一般不用过多纠缠,但如果你想借这个问题考察下他的技术想象力,可以深入下去,比如问他:“你觉得这个东西应该是什么原理呢?”,“这个酷炫的控件,如果要你来做,你会怎么实现?”。在这方面表现出色的同学无疑是有深厚基础与足够广度的人。
2. Android面试注意事项
1.基础在于Activity的生命周期,必须熟悉onResume onNewIntent onDestroy onFinish啊什么东西的发生条件 时间顺序
2.控件什么的不会问 太弱智了
3.网络交互 WebService方式和基本HttpRequest方式,可能问到Socket长连接这个难
4.框架级别,对Android设计的整体框架认识,主要2点,1:对跳转的集中管理 2:对所有界面的集中管理
后者可以都继承一个baseview 在baseview里记录所有打开的view为一个集合以便管理
前者参考异步的方式把所有任务跳转请求等都发task让后台排队解决,解决后通过消息和Handle刷新页面
5.进阶知识,我搞了半年多了老手了才开始研究这些,比如现在正在研究的PN推送等,这个实时的推送用处很广,比如实时聊天或实时消息播报或广告推送,这个代表你的水平高度是要薪资的筹码
注意的嘛,对整体框架一定要有好的认识,设计一个合理的框架去实现功能非常重要
还有如果你告诉别人你懂后台,可以做或者协调后台服务端完成功能那会非常好
3. 安卓面试需要了解什么
有android 的组件方面的知识了,例如Service是一些在一个新的线程中吗,Service的启动方式有几种,他们之间的区别是什么,介绍一下Activity的生命周期。Activity的实例化策略,还有使用Intent好处...等等很多的,不能一 一列举,这个需要你有比较不错的基础知识。不过还好我们在android培训的时候李刚老师(疯狂java系列的作者)都有介绍。
4. 自学安卓的,去面试,该准备什么
这个还真不容易准备,我简单说下我面试都问吧...只适用于三年工作经验以内的同学,再往上这么问就不太合适了。1、请候选人简单自我介绍这个没啥好说的,别太罗嗦就好。2、写个简单的代码实现不会弄太复杂的代码,一般就写string类函数的重新实现;如果候选人是应届生的话,会要求写个复杂点的,比如单链表反转;如果有地图行业背景的,可以写个从集合内找出/删除最近的N个点。多数情况下,面试的时候没有人能写得很完美,总有些考虑不周的边界条件或者比较乱的逻辑。这时候我会提醒候选人哪些地方有可能有问题,让他试着改进。能比较顺利地改出来就Ok了。3、Java的基础和Android的基础穿插着问我常常会问Java泛型类的使用,HashMap和ArrayList的内部实现,时间复杂度。Java的接口和抽象类的取舍,虚方法和多态的运用等等。关于Android,问一下布局(几种Layout的使用)、数据存储(SD卡、SQLite、共享配置这种)、Intent传递、消息机制、Activity生命周期等等。4、更深入的技术细节这个我最纠结了,我自个儿就半桶水,当然连半桶水的问题也问不出来...一般我就问问常见内存泄漏场景、App被销毁后如何恢复、ListView如何重用、如何适配不同屏幕、生产环节出问题了咋办...曾经我也问过Java GC这种教科书问题,后来发现没啥效果,就再也不问了。至于项目经验神马的,那是二面的事儿,我只是个弱弱的一面。就这些 查看原帖>>
5. 请教有经验者,一般android面试会问些什么问题
其实,不管是什么样的面试形,问的问题都差不多,万变不离其宗,都有规律可寻。其实对所有的面试官而言,只有一个目的:在最短的时间里了解到你最多的信息。想高效率的准备面试,先从这七个大方面着手吧!
一、基本情况
1、请用最简洁的语言描述您从前的工作经历和工作成果。
二、专业背景
您认为此工作岗位应当具备哪些素质?
三、工作模式
您平时习惯于单独工作还是团队工作?
四、价值取向
您对原来的单位和上司的看法如何?
五、资质特性
您如何描述自己的个性?
六、薪资待遇
是否方便告诉我您目前的待遇是多少?
七、背景调查
您是否介意我们通过您原来的单位迚行一些调查?
95%的面试基本上都离不开这些问题,当然还有可能问一些专业问题,我想如果你做过的话应该都不是什么难事,一般面试官都不会过多的问专业方面的问题的。
6. android刚毕业怎么面试
先背Android面试宝典,然后好好练习MVP和MVP然后读一下OKhttp和RXjava这都是最近用的。然后对Android版本成长史有个大概的了解,然后别人问啥你都说懂,写过。不要太具体。
7. android开发怎么样面试能详到8000
无论大公司还是小公司,之所以在如何招聘到真正有能力的
前端工程师方面会遇到同样的问题,就是因为负责招聘的那些人不知道自己公司需要什么样的人,结果问问题时也问不到点子上。经过这几年在行业里的摸索,我总
结出了自己的一套很有效的面试前端工程的方法。
有的应聘者说我不好对付,但留给他们这样的印象也并非我所愿。我觉得之所以他们说我不好对付,主要是因为我问他们问题时问得太细了。以前我曾专门写过一些
东西,告诉应聘者怎么才能通过我的面试(Surviving an interview with me)以及优秀的前面工程师应该具备什么样的素质(What
makes a good front end
engineer?),而我的面试可以说完全是按照那两篇文章的标准进行的。我不会问一些特别偏门的问题,也不认为出几道逻辑题就能考出人的真实水平。我
唯一的想法就是确定你能否胜任我们要招的这个职位。为此,我需要简单地考察如下几个方面。
基本知识
我们生活在互联网时代,你想知道的任何事情几乎都能在15分钟内找到相关信息。可是,能找到信息并不等于你会使用它。我认为所有前端工程师至少都应
该掌握某些基本的知识,才能有效地完成自己的工作。如果一遇到问题,就停下工作上网四处搜索解决方案,怎么可能保证按期完成工作呢?听听,还有谁在说“我
不知道,但我可以上网搜到。”请这些同学把手举起来,让大家认识一下(immediately raises a flag for
me.)。下面我列出一些基本的知识点,这些都是我认为一名前端工程师(无论工作年头长短)在没有任何外来帮助的情况应该知道的。
DOM结构——两个节点之间可能存在哪些关系以及如何在节点之间任意移动。
DOM操作——怎样添加、移除、移动、复制、创建和查找节点。
事件——怎样使用事件以及IE和DOM事件模型之间存在哪些主要差别。
XMLHttpRequest——这是什么、怎样完整地执行一次GET请求、怎样检测错误。
严格模式与混杂模式——如何触发这两种模式,区分它们有何意义。
盒模型——外边距、内边距和边框之间的关系,IE 8以下版本的浏览器中的盒模型有什么不同。
块级元素与行内元素——怎么用CSS控制它们、它们怎样影响周围的元素以及你觉得应该如何定义它们的样式。
浮动元素——怎么使用它们、它们有什么问题以及怎么解决这些问题。
HTML与XHTML——二者有什么区别,你觉得应该使用哪一个并说出理由。
JSON——它是什么、为什么应该使用它、到底该怎么使用它,说出实现细节来。
重申一下,上述这些知识点都应该是你应该“想都不用想”的东西。我一开始问的所有问题都是想摸清你对所有这些领域知识的掌握程度。虽然上面列出的这些知识点并没有面面俱到,但我觉得你至少应该掌握这些,才有可能跟我坐到一间办公室里来。
少量提问
我非常赞同面试者问的问题越少越好。反复问应聘者各种问题既不公平,也很无聊。我在任何一次面试中,通常只问三个大问题,但每个问题又会涉及我所能想到的多个方面。回答每个大问题一般要经过几个步骤,这样我就可以在每个步骤中穿插着问一些小问题。比如说:
现在有一个正显示着Yahoo!股票价格的页面。页面上有一个按钮,你可以单击它来刷新价格,但不会重新加载页面。请你描述一下实现这个功能的过程,假设服务器会负责准备好正确的股票价格数据。
这个问题牵扯到一组我想要考察的基本知识点:DOM结构、DOM操作、事件处理、XHR和JSON。如果我要求你对换一种处理股票价格的方式,或者
让你在页面中显示其他信息,就可以把更多的知识点包括进来。对于经验比较丰富应聘者,我也可以自如地扩展要考察的知识范围,最简单像JOSN与XML的区
别、安全问题、容量问题,等等。
我还希望应聘者给出的任何解决方案中都不要使用库。我想看到最原生态的代码,你就当页面中没有包含任何库。你说你对哪个库了解多少多少,但我不能把
关于库的知识作为评判能力的因素,因为库是会随时间变化的。我需要的是真正理解库背后的机制,特别是能够徒手写出一个自己的库的人。
解决问题
做为一名前端工程师,最值得高兴的事莫过于解决同一个问题会有很多种不同的方法,而你要做的就是找出最合适的方法来。我在提问的时候,经常会在应聘
者解释完一种方法后问他们还有没有第二种方法。此时我会跟他们说,假设你的这个方法由于种种原因被否决了,那么你还能不能给出另一种方法。这样做可以达到
两个目的。
首先,可以测试出他们是否在毫无意义地复述书本中的东西。不能不承认,某些人确实有过目不忘的天赋,听他们在那里滔滔不绝地讲,你会觉得他们什么都
明白。可是,只要一跟这些人谈到怎么查找方案无效的原因,以及能否拿出一个新方案来,他们往往就傻眼了。这时候,如果我听到“我不明白这个方案为什么不够
好”之类的反问,心里立刻就明白我的问题已经超出了他们的能力范围,而他们只是想拿自己死记硬背的结论来蒙混过关。
其次,可以测试出他们已经掌握的(还是那句话,“想都不用想”)浏览器技术知识。如果他们对浏览器平台的核心知识有较好的理解,想出解决同一问题的不同方案根本没有那么难。
对一名前端工程师来说,这绝对是最重要的能力。前端工程师在工作中遇到本该如此却并未如此的难题(说你啦,IE6),应该说是一件很平常的事。一个方案无效就无计可施的人,做不了前端工程师。
考核应聘者解决问题能力的另一层原因,与我的个人喜好有关。在搞清楚应聘者知道什么不知道什么之后,我就会想着问一个他们知识领域之外的问题。这样
做的目的,就是想看看他们怎样运用已有的知识解决新问题。在解决问题的每一步,我也准备了一些提示,以防有人会卡壳打艮(在我面前15分钟一言不发,对我
评价这个人毫无帮助)。我真正感兴趣的,是他们能够从上一步前进到下一步。我希望看到一个人就在我眼前学到新知识。
注意:所有问题都与浏览器技术相关。我不相信出几道抽象的逻辑题,就能够考出某人解决Web技术问题的能力。在我看来,这无异于让素描大师画肖像(或者让刘翔跟博尔特同场竞技),没有意义,也得不到任何有价值的信息。
有激情
要成为一名优秀的前端工程师,最重要的莫过于对自己做的事要有激情。我们技能都不是从学校中或者从研讨会上学来的,因此前端工程师必须具备自学能
力。浏览器技术的变化可谓日新月异,所以也只有不断提升自己的技能才做得到与时俱进。我虽然不能强迫谁必须多看博客、不断学习,但想应聘前端工程师的人恐
怕还是必须这么做的。
你怎么知道谁对这种工作有没有激情?实际上非常简单。我只问一个简单的问题:“目前你对什么Web技术最感兴趣?”这个问题永远不会过期,而且也几
乎不可能出错……除非你答不上来。就眼下来说,我希望你对这个问题给出的技术中包括WebSocket、HTML、WebGL、客户端数据库,等等。只有
对Web开发充满激情的人,才会坚持不懈地学习新知识、掌握新技能;这些人才是我真正想要的。当然,我会让他们详细解释自己提到的技术,以保证他们不是随
口说了几个时髦的新词汇。
最后一点
计算机科学或者Web设计方面的知识当然也有用,但那都是基本知识之外的东西。只要基本知识在那儿了,一切就都有了基础,想扩充知识面也不难。可
是,如果等到正式上班以后,还得从头学习基本技能,那种难度是不可同日而语的。另外,高级前端工程师与一般工程师相比,肯定需要掌握更多的技能。而面试几
乎没有经验大学毕业生,同样也会有一套完全不同的程序。我在这篇文章里列出来的都是一些最基本的东西。
对于那些还没有多少面试经验的人,我总是喜欢告诉他们,面试完了只要问自己一个问题就行:你想以后跟这个人在一起共事吗?如果不管为什么,回答是不,那就是不。
8. 好程序员android面试都面试哪些问题,不知道难不难。
根据公司的项目需求,比如公司做的是一个涉及到地图定位,支付和聊天的项目,那一般就会找在这方面有开发经验的人。
根据面试者简历上的项目经验,看看这个人做了哪些项目,根据这些项目问一些相关的技术问题。
假设一些工作情况和条件,问面试者是如何面对和解决的。
有些公司确实会很刁难人,但这不能怪人家,毕竟他们想找一个能真正胜任工作的人,而你也想这样的工作。所以,面试的时候最重要的还是做你自己。让他们了解你,你自己也去了解他们。遇上自己很喜欢的工作但是人家又不要你,那你就努力提升自己。
9. android面试官如何提问
你运气了,正好我在写稿,不仅有提问,还有分析。你自己看吧。
三、常见面试问题的预习。
面试说白了很简单,无非是考察求职者是否符合岗位需求。一般而言,面试往往从自我介绍、个人经历、掌握技能、离职原因这四个方面着手,通过一系列问题,考察应聘者的知识、技能和态度。有条件者,可找从事过招聘工作,或有一定面试经验的朋友,就一些常见面试问题,模拟面试。在朋友面前丢脸,总好过面试时丢人。而且面试前有所准备,也有助于消除紧张,培养自信,从而获得成功。
这里要尤其提醒两点:第一、自我介绍往往是面试的第一个问题,非常重要,准备充分则事半功倍。第二、回答问题时应谨记言之有物,切实有据,彬彬有礼,亢卑有度,不要忘乎所以,夸夸其谈。
l “招”亦有“道”。
武侠小说泰斗金庸笔下最厉害的高手莫过于大侠独孤求败。他从“学招”到“创招”,最后领悟“招”的真谛,达到“无招胜有招”的境界,经过了大量的理论学习(拜师)和实践锻炼(打斗)。求职者要达到“无招”的境界,同样需要理论学习(求职技巧)和实践锻炼(不断完善简历,积极参加面试)。
初涉尘世的年轻人,怕的就是不知企业会如何“出招”,更怕的是自己不知如何“接招”。这是因为缺乏实践锻炼。做过“功课”的求职者,却怕企业“变招”。这是因为学“招”钻了牛角尖,忘了招是死的,人是活的。
“招”亦有“道”,任何“招”都有其遵循的原理。因此要想把“招”练好,学“招”,更要学“道”。独孤求败将“道”化为“独孤九剑”,求职的“道”则可归纳为一个中心,两个基本点。即以应聘职位为中心,简练一点,聪明一点。
我们知道,人的行为是利益驱动的,企业也不例外。无论是筛选简历,还是面试提问,企业的招聘都围绕着岗位的职责和要求来进行。那么,应聘的时候,求职者同样要围绕岗位的职责和要求来阐述。前面“解析企业招聘密码”单元里,我们介绍了分析岗位信息的方法。在此基础上,结合自己应聘优劣势,扬长避短,确定应聘方案,就是“创招”的过程。所创“招数”越贴合岗位需求,企业就越容易“中招”。
简练是有效沟通的基本原则之一。简历不是小说,面试不是演讲。找个朋友,请他十秒钟看完你的简历,听你一分钟的自我介绍。如果他能复述出其中的竞聘优势,那么你的阐述才当得起简练二字。有的求职者总担心叙述中会遗漏企业感兴趣的内容,从而事无巨细,尾大不掉。须知太多重点就变成了没有重点。冗余的原因,还是未能吃透企业的岗位需求。所谓大道至简,要言不繁。你有见过三分钟长的广告吗?事实上,大多数广告都不到三十秒,而你能记住的,最多只有其中一两句话而已。同样道理,只要吃透岗位需求,打动企业的,也就一两句话的事情。
聪明对缺乏经验的求职者而言,比较抽象。如何聪明?其实还是回到“中心”。招聘过程中,企业任何问题,任何抉择,都是以岗位需求为依据。有位缺乏工作经历的求职者,在应聘创意设计助理时寄了一张纸尿裤,上面除了联系方式,只有一句话:“在这个行业里,我只是个婴儿”。用纸尿裤来暗喻对知识的吸收能力,同时彰显创意。这位求职者的成功,首先是建立在研究岗位需求基础上的,即明确企业对创意的需求远超软件应用能力。其次就是真正动了脑筋,聪明地用事实来说话。有没有创意,简历设计就能证明,毋庸置疑。在简历和面试中常用类似技巧。比如在面试中,聪明的求职者常借工作感悟和体会证明自己的工作能力。