记录一下面试中遇到的各种问题和心得吧
公司名字就不写
把面试中问得比较多的写出来,还有的不记得了
Android基础面试题
- Android系统架构由哪几部分组成?
- 什么是MVC模式?Android开发中是否用到了MVC模式?
- 请简单解释一下Handler通信机制。
- ListView如何优化?(复用,滑动流畅等)
- Activity启动的四种模式?
- 简要描述触摸事件的分发机制
- Material Design的特点,控件等
- 在什么情况下BroadcastReceiver接收不到广播?(有一种情况是程序从未运行过是不会接收到广播的)
- Android中有哪几种布局,分别有什么特点?
- service的生命周期(start和bind的区别)
- serivice和IntentService有什么区别?
- 如果有多个Activity启动了service,怎么获取被启动了多少次?(onStartCommend)
- 什么是ANR,如何避免ANR?
- 加载图片时出现OOM,你是这么处理的?
- ViewPager如何取消预加载?
- ListView的item有不同的布局怎么处理(多type,getItemType)
- 分页加载机制
- 在触摸事件中,如果父控件拦截了子控件的触摸事件,子控件onTouchEvent方法中会传入消息吗?(ACTION_CANCEL)
- Android中的动画分为哪几种?
- Fragment的生命周期,分别会在什么时候调用?
- HttpClient和HttpUrlConnection有什么区别?
Java基础
- Java中有那几种基本数据类型?
- Java的内存划分?
- 单例模式(几乎每个公司都问了。。。)
- 面向对象的特征
- Java的内存回收机制
- 抽象类和接口有什么区别?
- Set、List、Map各自的特点
- LinkedList和ArrayList各有什么优缺点?
- TreeMap和HashMap有什么区别
算法
- 排序算法
- 二分查找算法
项目
这部分主要根据你的项目来问相关的一些技术点
笼统说一下吧
- 你这个功能是怎么实现的?有没有遇到某某问题啊?你是这么解决的?
- 你这个功能是用的那个开源框架?这个框架是怎么写的你看过源码吗?(最好是了解一下,虽然用别人的裤子,但实现原理你还是要知道的)
题外话: 面试前好好检查下你的项目,重要的bug都修复了没,别面试的时候被面试官玩儿炸了就尴尬了~就算没时间修复 也把原因找到,面试官玩儿炸了,你能清楚的告诉他是为什么炸了,怎么修复。
心得:面了六家吧,拿了四个offer,最后去了最想去的一家公司,也算努力没有白费吧。
- 花点时间好好写写简历,简洁,逻辑清楚。在这里感谢用语和猴哥帮忙改简历。避免写很多空话没有意义的话再在上面,有说服力一点。
- 好好分析一下自己的项目,哪怕你全是用别人的裤子堆起来的,细节上的实现都应该很清楚。
- 面试的时候诚恳一点吧,是学了多久就是多久,会就是会,不会就是不会,如果你才短短几个月时间跟我一样,有很多东西不是不会,而是压根就不知道这个东西,没什么关系,并不是说一道题几道题没答上来就挂了,面试官也会根据你的学习时间和掌握的知识去评价你的学习能力。
- 最近记忆力不太好,有些问题忘了,后面想起来了会补上。
最后祝大家找到心仪的工作,共勉