OppoAndroid面试小记
我去的的位于深圳地铁后海站的Oppo,H口出去往左边看就是了,面试约的是7点半,时间没把握好,6点半就到了,在楼下转了转,感觉那边大厦灯光秀还是不错的,等到大概七点左右上去的,公司前台位于8楼,登记的时候还要求拿胶带封住手机前后摄像头,这个操作确实是第一次遇到。不过大楼环境确实挺好的,淡黄色灯光给人感觉很舒服。待客区等待的人还是挺多的,有的甚至直接是在待客区进行的面试,我找地方坐下后便联系了hr,hr说面试官正在进行上一场面试,让我稍等。大概等了半个小时,待客区的人差不多都被带去面试了,终于有一个小哥哥叫到我的名字。
小哥哥带我到了9楼食堂,嗯,你没看错,就是食堂,而且还弥漫着一股饭菜香,我们来到食堂等了一会,后面又来了一个面试官,是技术部门部长,是2v1的面试形式,当时有点懵,心里也是更加紧张。
首先是两个面试官进行自我介绍,然后是我做一个简单的自我介绍,接着部门技术人员开始提问,都是android基础。
Android基础
- Service的两种启动方式?
- 什么方法的重载和重写?
- 静态广播和动态广播的区别?
- Android消息机制
- 用过哪些网络框架?Retrofit的原理?
- 如何开启多进程?
- 如何进行进程间通信?
- 开发中的常用的布局控件?
- 什么情况下线性布局,什么情况下用相对布局?
- 如何减少布局层级?
- 用过哪些事件总线?EventBus的优缺点是啥?
- 如何进行数据库迁移?
- WebView交互原理?
- RecyclerView和ListView的区别?
- 如何加载大图而不导致内存溢出?在保证图片清晰度的前提下要怎么做?(BitmapRegionDecoder)
- Activity启动模式及应用场景?
基础的大概就这些,都不是很难,但是很难把每个点都说的很清楚,比如ListView和RecyclerView的区别,当时就只是提到ViewHolder和item动画,连布局样式和局部刷新这两个点都忘记了,确实不应该。
比如第一个问题,大家都知道启动Service包括startService和bindService两种,但我觉得这种简单的问题应该稍微说明一下,比如两者的使用场景和区别,都可以陈述一下。
后面就是部长面试,主要是考察项目相关的知识点,因为我做过IM应用,面试官就主要抓住这一点提问
项目相关
-
即时通信原理?
-
心跳机制需要考虑哪些因素?
-
TCP和http的主要区别?
-
Listview条目有很多图片,如果让可见条目的图片快速加载?(面试官提示:定义任务的优先级)
-
有没有优化在弱网时候的通信?
后面还问到一些生活方面的问题,职业规划相关的问题
整个面试过程相对来说还是比较愉快的,面试官问问题的时候也是全程面带微笑,能够让人在一种相对轻松的环境下进行面试,这一点很nice,之前也面试过一个一些小公司,那个面试体验简直了,无力吐槽。
最后希望大家都拿到理想的offer。