[面试最后一问该问什么]在面试结束前,大多数的主考官都会丢问题给求职者,最常见的就是:你有没有什么问题或疑问,想要提出来的?无论求职者是否有提出问题,其实,这个问题背后的真正含意,通常是主考官用来测试...+阅读
首先,面试官们一定要知道,每个人由于经历不同,擅长的方向是千差万别的,所以一定不要抓住自己擅长的某个方面去问的很深,觉得“如果连这个都不会还算毛程序员啊”。所以我题的时候,往往是“两步走”的循环:1. 问他做过什么,如果有成品的话,我能看看更好。2. 从他做过的东西里面,找到问题进行提问。具体的问题要看情况,可以是界面或效果的实现方式、相关bug的排除、该部分原理的分析。
举一次面试时的对话作为例子吧:我先开始:“这份简历和网上投过来的那份是一样的吧?” “嗯,应该是一样的。” “嗯好。你在之前的团队的位置是什么?” “中高级吧。” “具体的工作呢?” “写框架,让新人比较容易上手,能够轻松工作。” “你说的框架具体包括什么呢?” “一些会共用的东西,写出来可以让新人就算是刚来也能很好的完成工作。
” “联网是你封装的吗?” “是。” “你们联网用的是什么?” “就是……安卓自带的……HttpClient。” “直接用的?” “嗯。” “那你们的网络请求是怎么做的异步呢?” “嗯……用Handler嘛,还有AsyncTask。” “能具体一点吗?” “嗯……就是……额……” “例如什么情况下用Handler,什么情况下用AsyncTask,你是怎么决定的呢?” “嗯……” “或者说,他们有什么区别呢?谷歌为什么要造他们两个出来,而不是只造一个呢?” “区别……区别……他们肯定是有区别的,不然谷歌不可能造两个。
嗯……”(到这里,这个问题就可以结束了。评级减一。) “这样吧,你的简历上提到‘熟悉大图片的加载’,能说一下大图片加载有什么需要注意的吗?” “缓存嘛。” “缓存?” “嗯,大图片的加载不就是ListView里面的大图片加载吗?要防止内存溢出。” “ListView里面一定是大图?” “嗯……”(不了解的东西却说自己熟悉,评级减一。
继续顺着问。) “那么ListView中图片的缓存你是怎么做的呢?” “三级缓存嘛。” “哪三级?” “如果内存里面有,就用内存里面的;如果没有就用本地的;如果本地也没有就从网络上取。三级。” “网络上的也叫缓存?” “啊。你可以把他看作缓存,也可以不看作缓存嘛。”(这个……) “内存缓存你是怎么实现的?” “用的一个HashMap。
” “直接用的HashMap吗?” “嗯……嗯。” “直接用HashMap的话,怎么防止你刚才提到的内存溢出呢?” “你可以用软引用嘛。”(首先答案有问题,另外当听到关键词“你可以”,多数情况下这个问题也可以结束了——八成是不会,仅仅听说过。不过出于谨慎还是继续问了) “软引用就能防止内存溢出吗?” “还有……还有谷歌出的一个叫LRUCache的。
”(回避正面回答,确认他是不会。这个问题结束。评级减一。到此就再没必要聊下去了。) 然后简单过渡一下,就结束了面试。所以你看,只需要简单提问,然后接着对方的回答继续往深了问,就什么都问出来了。-------------------------------------------------------------------------------- 评论中有人问到这次面试中我没有问完的问题的答案,那简单就说一下,想了解更多还请自行谷歌。
Handler和AsyncTask:这俩类都是用来实现异步的,其中AsyncTask的集成度较高,使用简单,Handler则需要手动写Runnable或者Thread的代码;另外,由于AsyncTask内部实现了一个非常简单的线程池,实际上是只适用于轻量级的异步操作的,一般不应该用于网络操作。我问他Handler和AsyncTask的区别,一方面是因为他说用AsyncTask联网,因此我认为他对AsyncTask并不熟悉;但更重要的是在我问他实现异步的具体手段的时候,他同时提到了Handler和AsyncTask——用这种“混搭”的使用方式来写联网框架,就算不考虑AsyncTask的可用性,也显得非常怪异,这听起来更像是在“列举Android实现异步操作最常用的类”,而非“讲述实现网络异步操作的具体方式”。
也就是说,我听了这句话后开始怀疑他封装过联网框架这件事的真实性。但我只是怀疑,并不确定,因此接着问了我想问的。图片缓存:大多数情况下,内存中使用LRUCache是最合适的。如果用HashMap来实现,不是不可以,但完全没必要嘛!需要注意在合适的时候释放缓存。至于具体怎么释放,我没考虑过,但用软引用的问题在于,你很难控制缓存的大小,也就是说,只有等到你的内存快要撑爆,你的图片缓存才会被回收。
是不是感觉傻傻的?对于初级和中级工程师,我更倾向于考虑对方的学习能力,也就是你对于自己所做过的东西是否足够了解,而非要求你那里都强,因为就像我开头说的,每个人由于经历不同,擅长的方向是千差万别的,我不喜欢挑别人的软肋问。只要你学习能力强,我就安全感满满哒!
延伸阅读:
一般的面试官最后都会问什么问题我做过几次面试官,看看我能不能帮上你。 1、一般会让你先说说你的基本情况,从而看你的语言表达能力,也通过你的表达多了解一些你的个人信息。 2、你从哪里了解到我们的招聘信息...
面试时最后主考管问我还有什么问题问的话我该问什么很多面试技巧说的很好却不一定适合每个人,面试中的考官可以看出你的破绽,别说他就是我们任何一个人都可以看出一个人说的话是不是很中肯,俗话说:会说的不如会听的。如果你想按照...
面试最后的提问怎样问更容易被录取面试结束前,大多数的主考官都会丢问题给求职者,最常见的就是:你有没有什么问题或疑问,想要提出来的?无论求职者是否有提出问题,其实,这个问题背后的真正含意,通常是主考官用来测试你...
面试如何不让裸辞经历在面试时掉价裸辞4个月,新offer的工资比原来低了30%,你会去吗?裸辞太久找不到工作,你会委曲求全接受一个自己不喜欢的工作吗?近期,在前程无忧论坛上有很多裸辞的网友正面对这样的选择难题。既...
去网络科技有限公司面试问题朋友你好,一般面试官对你提问题主要是想测试你的综合素质和专业素质,综合素质一般包括,表达能力、概括能力、应变能力和心理承受能力。专业素质就是考察你学的专业是不是很扎实...
android工程师面试一般会问哪些问题其实,不管是什么样的面试形,问的问题都差不多,万变不离其宗,都有规律可寻。其实对所有的面试官而言,只有一个目的:在最短的时间里了解到你最多的信息。想高效率的准备面试,先从这七...
好程序员android面试都面试哪些问题不知道难不难1. 根据公司的项目需求,比如公司做的是一个涉及到地图定位,支付和聊天的项目,那一般就会找在这方面有开发经验的人。 2. 根据面试者简历上的项目经验,看看这个人做了哪些项目,根...
Android面试遇到这样的问题该怎样回答面试题 面试官:「 我给你出一道非常简单的题,不算技术题,是这样的:你给我在玻璃板上画一幅画,场景是这样的,有一颗树,树上有三个苹果,树下面有一片草,非常简单吧,好了你画吧。」 遇到...
android面试遇到的问题怎么解决1、主要是对象创建,堆内存、栈内存,数据引用地址是否发生变化等问题。 2、以及Gc Root的相关概念,以及回收机制内存泄露的检测,考察了内存泄露的所有相关原理,里面包括,单例、内部...