这才刚刚进入八月,马上就要到一年一度,最适合找工作的时间段:金九银十。另外一个时间段是:上半年的金三银四,虽说今年金三银四不是那么理想,但仍比平常多了不少机会。
金三银四的大意是:最好的时间是三月,其次是四月。同理于金九银十,最好的时间是九月,其次是十月。反正我也是在几年前,道听途说过来的。一过完年,一交流总会多些想法,就有了金三银四。金九银十则是,一些公司在年中的时候,发去年的年终奖。
跳槽的 N 个原因
作为一个技术人员,如果你满足以下条件中的任意一个,你应该去看看更多的机会:
-
钱少了
-
技术空间增长太少
-
没有发展空间
-
心里委屈了
以及
-
老板招你的时候,和你谈理想。现在,老板问你说:理想能赚钱吗?
-
加班太多——都没有时间约会或者女朋友和别人跑了
-
你的女朋友在北京,而你在上海
-
这个技术公司已经没有大牛了
而对于这部分人这段时间加强技术能力,多掌握一些Android核心技术点是重中之重。
说个我一个朋友的自身情况:
刚好今年30,但是不幸被裁,工作了有五年了,跟身边的同事技术上比起来不相上下,可能别的地方有不如别人的地方,找工作前前后后差不多也花了近一个月,幸运的是基本上薪资达到了他的需求了。
要在之前猎头能把他电话打爆,但是现在很少接到猎头电话,所以给大家的建议,还是轻易还是不要跳槽,可以在这段时间努力学习提升一下技术。
相信面试过或者经常刷面试题的朋友,都知道面试官喜欢问JVM,Activity,View,虚拟机,Binder,Handler,AMS,WMS,数据结构与算法,源码分析,性能优化等等,这些都是常问的,也是重点问的。
所以在这边分享一些一线大厂Android面试题
具体面试题
第一章 算法和数据结构面试题
- 请说一说HashMap,SparseArrary原理,SparseArrary相比HashMap的优点、ConcurrentHashMap如何实现线程安全?
- 请说一说HashMap原理,存取过程,为什么用红黑树,红黑树与完全二叉树对比,HashTab、concurrentHashMap,concurrent包里有啥?
- 请说一说hashmap put()底层原理,发生冲突时,如何去添加(顺着链表去遍历,挨个比较key值是否一致,如果一致,就覆盖替换,不一致遍历结束后,插入该位置) ?
- 请说一说ArrayList 如何保证线程安全,除了加关键字的方式 ?
- 请说一说ArrayList、HashMap、LinkedHashMap ?
- 请说一说HashMap实现原理,扩容的条件,链表转红黑树的条件是什么 ?
- …
第二章 Java核心基础面试题
- Java中提供了抽象类还有接口,开发中如何去选择呢?
- 重载和重写是什么意思,区别是什么?
- 静态内部类是什么?和非静态内部类的区别是什么?
- Java中在传参数时是将值进行传递,还是传递引用?
- 使用equals和==进行比较的区别
- String s = new String(“xxx”);创建了几个String对象?
- …
第三章 Java深入泛型与注解面试题
- 泛型是什么,泛型擦除呢?
- List<String>能否转为List<Object>
- Java的泛型中super 和 extends 有什么区别?
- 注解是什么?有哪些使用场景?
- …
第四章 Java并发编程面试题
- 假如只有一个cpu,单核,多线程还有用吗 ?
- sychronied修饰普通方法和静态方法的区别?什么是可见性?
- Synchronized在JDK1.6之后做了哪些优化
- CAS无锁编程的原理
- AQS原理
- ReentrantLock的实现原理
- …
…
…
…
第十章 Framework内核解析面试题
- Android中多进程通信的方式有哪些?
- 描述下Binder机制原理?
- 为什么 Android 要采用 Binder 作为 IPC 机制?
- Binder线程池的工作过程是什么样?
- AIDL 的全称是什么?如何工作?能处理哪些类型的数据?
- Android中Pid&Uid的区别和联系
- …
第十一章 Android组件内核面试题
- Acitvity的生命周期,如何摧毁一个Activity?
- Activity的4大启动模式,与开发中需要注意的问题,如onNewIntent() 的调用
- Intent显示跳转与隐式跳转,如何使用?
- Activity A跳转B,B跳转C,A不能直接跳转到C,A如何传递消息给C?
- Activity如何保存状态的?
- 请描诉Activity的启动流程,从点击图标开始。
- …
第十二章 程序性能优化与数据持久化面试题
- 一张图片100x100在内存中的大小?
- 内存优化,内存抖动和内存泄漏。
- 什么时候会发生内存泄漏?举几个例子
- Bitmap压缩,质量100%与90%的区别?
- TraceView的使用,查找CPU占用
- 内存泄漏查找
- …
第十三章 开源框架面试题
- 组件化在项目中的意义
- 组件化中的ARouter原理
- 谈一下你对APT技术的理解
- 谈谈Glide框架的缓存机制设计
- 谈谈你对Glide生命周期的理解
- 项目中使用Glide框架出现内存溢出,应该是什么原因?
- …