A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

李维老师

初级黑马

  • 黑马币:43

  • 帖子:10

  • 精华:0

© 李维老师 初级黑马   /  2016-6-10 14:48  /  6842 人查看  /  18 人回复  /   5 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 李维老师 于 2016-6-12 17:36 编辑

很多学员在找工作前都会谈面试色变,说到面试就会紧张、害怕,见到面试官就像见到吃人的老虎一样。
我觉得面试其实是一件很轻松的事情,是你和面试官相互了解的一次交流过程,是你展示自己的知识和魅力的一次机会。我们不是去乞求入职机会,我们是去给公司一次得到优秀人才的机会。
从今天开始,维哥将带领你们笑对面试,云淡风轻间就将offer拽在手中。
时间:2016年5月31日  周二  上午
面试公司:深圳市云鹏正曜科技发展有限公司
公司地址:福华一路115号投行大厦5楼

走到投行大厦楼下,诶嘿,还挺高大上符合我心中办公地点的选择“嘿嘿”。请原谅维哥这渣渣像素和拍照技术。。。
进到公司,前台是一个漂亮的妹纸(没好意思拍照),光看妹纸去了连前台照片都忘记拍了,只好补拍了一张,好吧又暴露了我的渣渣拍照技术。

妹纸带我见了HR之后还不忘对我说一声“面试加油哦。”(好吧,我是纯属YY)。
step1:笔是坐在HR旁边的桌子写题,好紧张地说(好吧,其实并不紧张)。但是弄得我不好拍照啊,还好维哥记性好,笔试题基本上都记下来了。
    1. Java中的StringStringBuffer类各有什么特点?使用String有什么优势?(嘻嘻还好java基础比较好
2. Android中横竖屏切换时,对Activity的生命周期有什么影响?(这么简单的题,能难倒我们大黑马)
3. Activity在即将销毁时,如何保存数据?(onSaveInstanceState,咱可是专业的。还给他展开讲了如果是主动调用finish来销毁activity则不会走该方法)
4. Android中的数据保存方式?(这里我展开说了一下工作中每种存储方式的具体使用场景)
5. 使用Intent方式在Activity之间传递数据,最大容量为多大?(4KB,这里展开讲了一下Bundle实现了parcelable接口,讲到了parcelable怎么跨进程读写数据)
6. Handler机制,简述HandlerMessageQueueMessageLooper的关系?(这个我不仅仅给他简述了,还深入源码地给他讲了一遍)
step2:第二轮是android技术面试。相信面试官看完我的笔试题之后都不想面试我了,为啥?因为我回答得已经远远超出了他的预期啊。可能他也意识到了我确实是有点真材实料,首先我做了一个简单的自我介绍
   “我叫李维,来自湖南岳阳。2013年毕业于中南大学,从事android开发已有三年时间,2013年6月至2014年8月在某某公司从事android开发工作,主要负责手机短信模块的开发。2014年8月至2015年8月在深圳某某科技公司担任android开发工程师职位,主要负责某某智能手环APP的开发与维护。2015年8月至今在深圳某某科技公司,担任android多媒体开发工程师职位,负责公司平板的内置在线音乐项目的开发。本人性格开朗,热爱编程、喜欢专研新知识。英语较好,能独立阅读英文技术文档。”
     做完一个简单的自我介绍之后本来是想和他讲解我的项目的,他笑笑说不用了你的能力我已经很清楚了,直接问了我一些比较比较高深一点或者流行一点的问题。如:
面试官:RxJava、RxAndroid和Retrofit框架都熟悉吗?  

:这些虽然我还没有在公司的项目中使用过,但是在自己做的一些小项目、小demo中我用到了这些技术。Rx是响应式编程的意思, 本质是观察者模式, 是以观察者(Observer)和订阅者(Subscriber)为基础的异步响应方式. 在Android编程时, 经常会使用后台线程, 那么就可以使用这种方式. RxAndroid来源于RxJava, 在RxJava的基础上扩展了一些Android的功能。
Retrofit是一套RESTful架构的Android(Java)客户端实现,基于注解,提供JSON to Object,Object to JSON,网络请求(POST,GET,PUT,DELETE等)封装。

面试官讲讲MVP模式的使用及其与MVC的区别?   

:首先MVC是经典的模式,它的目的是将数据层与视图层分开用控制层来统一操作。在android中,M是数据层包含网络请求数据及数据库查询数据等等,V是View层,是各种layout文件,C是Controller层,是Activity与Fragment。但是MVC也有缺点Controller对应的是Activity,而Activity中却又具有操作UI的功能,我们在实际的项目中也会有很多UI操作在这一层,也做了很多View中应该做的事情,当然Controller中也包含Controller应该做的事情,比如各种事件的派发回调,而且在一层中我们会根据事件再去调用Model层操作数据,所以这种MVC的方式在实际项目中,Activity所在的Controller是非常重的,各层次之间的耦合情况也比较严重。
所以在这个时候我们的MVP就应运而生了,它是MVC的改良版,MVP中把Layout布局和Activity作为View层,增加了Presenter,Presenter层与Model层进行业务的交互,完成后再与View层交互进行回调来刷新UI。这样一来,所有业务逻辑的工作都交给了Presenter中进行,使得View层与Model层的耦合度降低,Activity中的工作也进行了简化。

面试官UIL的源码熟悉吗?  

:这个源码我看过,还有volley、EventBus、等项目的源码我都有去研究过。

面试官在项目过程中是怎么来做优化的?

:这个优化是贯穿于整个项目中的,比如写布局的时候1、我会去考虑布局的嵌套层级,尽量多使用include、merge标签,比较linearLayout与RelativeLayout的渲染时间,使用ViewStub类等等。2、在写自定义view的时候,我会去考虑绘制优化,在onDrawe方法中不做耗时操作及新建对象。3、避免内存泄漏4、避免ANR。5、利用线程池来优化线程。6、使用一些工具如MAT来分析内存泄漏,使用traceView来查看某个方法消耗的时间等等。

面试官:那你说一下会有哪些情况导致内存泄漏、怎么来避免?

:比如说,1、静态变量会导致内存泄漏 ,因为静态变量会持有当前类的引用,假如activity中的context对象是静态的,那么该activity就很难销毁。2、单利模式也能导致内存泄漏,如果单例持有了activity的引用的话他的生命周期是和Application保持一致的,所以activity对象无法被及时释放。3、属性动画也能引起内存泄漏,属性动画有一种无限循环动画,如果在activity中执行这种动画而又不在ondestroy方法中停止动画的话,就会引起内存泄漏。另外像线程生命周期的不可控性也会引起内存泄漏。
面对上面那些问题,维哥心中是拔凉拔凉的啊!!!(好吧,其实我是火辣辣的)还好我平时闲着蛋teng的时候喜欢看一些新的开源框架,喜欢看一些优秀的开源框架源码解析,喜欢看一些优化的博客。所以这些对于我来说那是so easy啦。哈哈哈,又得瑟了。当时那面试官听完眼睛都瞪得圆圆的,其实面试官看着跟我年纪也差不多大,我就在心里暗想这人是不是担心我进去会抢他饭碗啊。(又在YY了)面试完,他跟我说你的技术在我这边完全没有问题,接下来我们CTO还会跟你聊聊。(好吧,我就知道后面还有)
step3:CTO一看就是技术大牛,人也很爽快,说话也是笑呵呵的。和他聊天非常舒适,由于他并不是做android开发的,就问了我一些关于热修复及职业生涯发展规划之类的。热修复咱们黑马的课程里面就有,所以维哥就非常完美地回答出来了,听的他也是脸上保持着衣服灿烂的。至于职业生涯发展规划,你们懂得就是从技术到管理、架构等等方向跟他乱扯一通。愉快地聊完之后,CTO应该也觉得我是个非常乐观善于沟通的人,至于技术能力前一个面试官应该也跟他说明了。
step4:最后就是HR跟我聊工资,聊为什么离职。针对为什么离职这个问题我是这么回答的——上家公司是一家很小的创业公司,从老板到员工一共就7个人。最后由于拉不到更多的投资,公司倒闭了,我只能另找工作了。(哈哈哈,是不是完美无缺,滴水不漏)他还问了一个很无语的问题,“如果工资不是很高,工作压力又大又要经常加班你是否会临阵退缩?”(废话,这种事情我会临阵退缩??我直接就不干了好不)不过我不会说的这么直接,我说这当然不会啊,我愿意为公司的发展尽我最大的努力,而且我的薪资要求也不高才18K。(估计HR听到我这句话心里是拔凉拔凉的啊)果不其然,他说他要和Boss及技术人员商量一下,结合我的技术能力到时候再通知我。
好吧,最后他们跟我来电话说他们最高能给15K,说18K太高了那个面试我android的都没有18K(果然不出我所料,哈哈哈)。不过维哥本来就没想过去他们公司上班呢。所以就以已经找到了合适的工作拒绝了他们。
其实面试很简单,今天就先给你们讲一下维哥的面试经历咯。在以后的帖子中会给大家总结一些面试的套路和方法,敬请期待吧!嘿嘿嘿

18 个回复

倒序浏览
维哥果然厉害,大赞大赞!
回复 使用道具 举报
好牛B,李老师收下我的膝盖
回复 使用道具 举报
好细致,好棒,支持一下
回复 使用道具 举报
膜拜!!!大神呐
回复 使用道具 举报
好棒,支持一下
回复 使用道具 举报
维哥666,向维哥学习!!!
回复 使用道具 举报
厉害厉害
回复 使用道具 举报
好好笑,HR听到你这句话心里拔凉拔凉的
回复 使用道具 举报
6666666666666 六的飞起.什么时候带我们飞
回复 使用道具 举报
维哥好厉害啊!大赞大赞!
回复 使用道具 举报
维哥。要达到你这种笑对面试的态度,还是有挺长的一段路要走啊,,收下 我的膝盖
回复 使用道具 举报
厉害厉害,加油!
回复 使用道具 举报
膜拜啊~~~~
回复 使用道具 举报
楼主  大赞啊大赞
回复 使用道具 举报
时不时的回来 看老师的回答,,太完美了
回复 使用道具 举报
66666666羡慕!
回复 使用道具 举报
公司看起来不错啊。。
回复 使用道具 举报
很棒,很有帮助!!!!
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马