在2019年10月初,公司倒闭,后来无奈走上找工作的道路,不想自己平时图安逸,不思进取,再次找工作才发现,Android行业也不是站在风口上,猪也能吹上天的世道了。作为技术小菜的我,再找工作那几个月真是战战兢兢,被打击得信心全无。记录下我的面试经历,分享给需要的人。勉励自己要时时进步,才不会被淘汰。
猎豹移动(有笔试)
- atomicinteger内存模型
- static编译时有啥不同,static 语句块,static变量,static方法,构造初始化顺序(静态绑定)
- animation和animator的用法,概述实现原理
- Handler,looper,messagequeue,thread,message,每个类功能,关系?
- Mvc,mvp的差异
- app闪退的原因有哪些?每种情况简述分析过程
- 如果一个app存在多进程,请列出全部的ipc方法
- 操作系统中进程和线程有什么联系和区别,系统什么时候会在用户态和内核态中切换?- 如何加载ndk库?如何在jni中注册native函数,有几种注册方式?
- 一个app如果性能不好,怎么分析?
饿了么(无笔试)
- 设计的六大原则
- 如果hashmap key不一样,但是hashcode一样会怎么样?
- okhttp有什么优秀的设计模式?builder模式有什么好处?责任链模式有什么好处?
- 懒汉模式单例为什么加volaitle?
- hashmap是否线程安全?不安全会出什么问题?
- concurrenthashmap读写分别是啥情况?
- bindservice和startservice生命周期有啥不同?
- 广播有几种?广播是观察者模式?跨进城广播也是观察者模式吗?
- ams是怎么找到启动的那个activity的?
- a-b-c界面,其中b是singleinstance的,那么c界面点back返回a界面,为什么?怎么管理栈的?
- 红黑树有啥特性?
- 在oncreate里面可以得到view的宽高吗?
- view的getwidth和getmesurewidth有啥区别?
- 遍历hashmap的原理?
- 23种设计模式
中园博林(有笔试)
- 如何避免out of menmory和anr?
- arraymap和hashmap的区别?
- 如何实现线程同步?
- 简述android事件分发机制
- 简述view绘制流程
- 用两个栈实现一个队列
- 口头问viewpager嵌套滑动冲突