成功入职网易了,网易三面,17*13薪资涨薪50%的面试题到底是怎么样的?

前言

在这里特意恭喜我的一位朋友成功入职网易了,他由原来17*13的薪资涨薪了50%,我去问了他的当时面试的题目,分享给大家。

一面:

1.算法题: 123 -> 321超出Integer最大值范围,负数怎么处理

2.hashmap put0底层原理发生冲突时,如何去添加(顺着链表去遍历,挨个比较key值是否一致,如果一致,就覆盖替换,不致遍历结束后,插入该位置)3.Handler内存泄漏与Looper

4.Message为什么没有被回收

5.手写单例模式, volatile作用, 为什么要双重判空,作用是什么,一句话概括

6.为什么要泛型擦除,写-个泛型方法和一个泛型类

7.- -张图片加载到内存,如何计算图片占用内存的大小, ARG8888与ARGB565有什么区别

8.APK打包流程

9.四种引用方式,他们之间的区别,什么时候用到弱引用

总结:
1.算法题最主要的目的是得出结果,不要总是纠结于过去刷过题的思路,特别是当时的思路无法理清时,就应该立马变换一-种思路去解决,哪怕是时间复杂度和空间复杂度都比较高,而不是迟迟卡在那里。
2.将技术点总结成简单的话语, 提炼技术要点

二面

1.线程池线程是如何保持线程不被回收的?在for循环里一直循环 ,循环体内会有take方法阻塞?

2.线程可以多次调用start吗?会出现什么问题?为什么不能多次调用start ?

3.RecyclerView是怎么优化的

4.MVP是如何实现的,他们之间的关系和职责

5.MVM是如何实现的? ViewModel的底层原理

6.热修复框架底层的原理, Tinker ,美团的

7.pid.与uid的区别

答: pid是进程ID , PID是进程的身份标志,系统给每个应用分配独一无二的PID(- 一个应用可能有多个进程,每个进程有唯一-的PID)

进程终止后PID会被系统回收,再次打开应用会重新分配一一个PID。

UID在linux中是用户的ID ,用于权限的管理。在android中 ,由于android是单用户系统,所以uid被用于实现数据共享。

8.你们的项目架构是怎样的?

9.线程I0密集型和CPU密集型区别及线程数的设置

答:CPU密集型任务:在一一个任务中,主要做计算, CPU持续在运行, CPU利用率高,具有该特点的任务称为CPU密集型任务。

I0密集型任务:在一一个任务中,大部分时间在进行I/O操作,由于I/O速度远远小于CPU ,所以任务的大部分时间都在等待IO , CPU利用率低。CPU密集型任务:线程数为CPU核数。几个线程可以并行执行,不存在线程切换开销,提高CPU利用率,减少线程切换性能损耗。

I0密集型任务: 线程数为CPU核数的2倍,在线程进行I/O操作时,其他线程可以继续使用CPU ,提高CPU的使用率。

三面:

1.简单自我介绍

2.项目结构,用到了哪些技术?

3.过往经历

4.为什么想换工作?

5.最近看的项目,用的什么技术?

6.北京市2个月摇- -次号, 摇中的概率是3000分之一,请问需要摇多久 ,概率能达到百分之50?

7.拋一枚硬币,正反面的概率各占50% ,请问,连续两次反面的概率是多少?正,正反,反正,反反, 出现的概率各占四分之一。

更多面试题以及答案可以点击文末的卡片,扫码免费领取哦。

成功入职网易了,网易三面,17*13薪资涨薪50%的面试题到底是怎么样的?_第1张图片
成功入职网易了,网易三面,17*13薪资涨薪50%的面试题到底是怎么样的?_第2张图片

你可能感兴趣的:(Android,面试,java,职场和发展,android)