一、最近由于某些原因,对目前的公司有点失望,于是一时冲动,产生了想回武汉的冲动,于是在某地方看到武汉百纳信息——也就是海豚浏览器的Android开发招聘的信息时,主动联系了对方,于是,得到了这次面试的机会。技术面前,跟他们的人力资源hr已经进行过一个多小时的电话沟通,总的来说给人的感觉就是,他们的面试不是那么容易的,他们的要求还是蛮高的,至少在一个多小时的hr交流中,得到的是这个信息。于是,约好了今天中午进行面试,一点钟,面试准时开始,最后总计花了40分钟。俗话说,有总结才有进步,每一次的面试都是一次很好的总结的机会,所以,这里就来进行一下总结。
二、具体的面试知识点。
总的来说,考察的还是比较全面深入的,一些很基本的activity的生命周期,屏幕适配,如何布局之类的知识没有涉及到,但是java基础,多线程和service以及设计模式这一块还是考察得比较多的。下面说下具体的知识点吧,给有需要的童鞋。
1、关于多线程的。 为什么不能在非UI线程更新UI,如何在子线程更新UI,原理如何?
2、handler和asynctask的区别,在asynctask的doinbackground方法中可以直接更新UI吗?
3、handler的消息机制
4、简要介绍下如何进行ndk开发
5、listview的优化,有哪些手段。如果在listview的item中有网络图片,该如何处理?如何解决图片在滑动的时候错位的问题,也就是在加载网络图片的过程中进行滑动操作,然后图片显示不正确的问题?
6、Android中service的作用,什么场景下使用service,service和activity之间如何进行通信?
7、简要介绍一下http协议 以及在Android中的使用方法、作用,http协议传输的具体内容有些什么?
8、内部类加static静态修饰和不加static静态修饰的区别?
9、如何进行自定义控件?有哪些方法?举出几个你自定义控件的例子。
10、说出几种常用的设计模式。你在项目中用到哪些?具体是怎么操作的,为什么使用这些设计模式?
11、最后是一些非技术问题,比如课余研究了什么新技术,看了些什么书,有没有写博客,研究开源的一些东西。
问题大致就是这么些吧,仅供参考。答案稍后我会补上,大家可以先看看。
有面试武汉百纳的童鞋可以参考一下哈。
晚上hr打电话告诉我,面试我的这哥们是微软出来的博士,囧o(╯□╰)o。。。 有几个地方没有回答得很好,明天二面再接再厉吧。