Android大厂面试经验分享(OPPO,字节,华为,阿里)

Python018

Android大厂面试经验分享(OPPO,字节,华为,阿里),第1张

我是从小公司跳出来的,最终入职OPPO,说实话这段时间的经历让我深深地感受到,我们为跳槽做的一些临时抱佛脚的提升跟那些大佬的沉淀比起来太渺小了。我们都知道找资料学习、刷面试题,但也许只能应付这一次的面试,后面还是会技术发愁,那些短时间背下来的东西迟早会忘掉, 大家还是做好长期提升自己的准备,好好沉淀的东西最后才是属于自己的。

说说当时的面试过程,我是内推获得的面试机会,很感谢当时帮我内推的兄弟,总共三轮面试,两轮技术,一轮HR面,当天面试结束。

我10:10分到的公司,10:30开始面试,第一轮面试将近一个小时,聊的点我基本上都答得上来,自我感觉良好。然后面试官让我等一下,他去叫他们老大来给我二面,我等了有二十几分钟吧,二面有一个多小时,这次问的比较深,有些地方答的有些嗑吧,总体来说我自己是满意的。HR面约到下午了,整个流程下来每轮面试官都让人感觉很不错,我自己做的准备也让我面试感觉下来很爽。

我把面试遇到过的以及自己学习用到过相关内容都整理到一起了,方便自己进行复盘和后续的查漏补缺:

一、 Java基础

1.1 静态内部类和非静态内部类的比较

1.2 多态的理解与应用

1.3 java方法的多态性理解

1.4 java中接口和继承的区别

1.5 线程池的好处,详解,单例(绝对好记)

1.6 线程池的优点及其原理

1.7 线程池的优点(重点)

1.8 为什么不推荐通过Executors直接创建线程池

1.9 不怕难之BlockingQueue及其实现

1.10 深入理解ReentrantLock与Condition

1.11 Java多线程:线程间通信之Lock

1.12 Synchronized 关键字原理

1.13 ReentrantLock原理

1.14 HashMap中的Hash冲突解决和扩容机制

1.14 Java并发

1.15 Java虚拟机

1.16 JVM常见面试题

1.17 JVM内存结构

1.18 类加载机制/双亲委托

二、 Android基础

2.1 Activity知识点(必问)

2.2 Fragment知识点

2.3 Service知识点

2.4 Intent知识点

2.5 数据存储

三、UI控件篇

3.1 屏幕适配

3.2 主要控件优化

3.3 事件分发与嵌套滚动

3.4 动态化页面构建方案

四、网络通信篇

4.1 网络协议

五、架构设计篇

5.1 MVP架构设计

5.2 组件化架构

六、性能优化篇

6.1 启动优化

6.2 内存优化

6.3 绘制优化

6.4 安装包优化

七、源码流程篇

7.1 开源库源码分析

7.2 Glide源码分析

7.3 day 20 面试题:Glide面试题

7.4 聊一聊关于Glide在面试中的那些事

7.5 面试官:简历上如果写Glide,请注意以下几点…

7.6 Glide OOM问题解决方法汇总

7.7 LeakCanary源码分析

7.8 OkHttp源码分析

7.9 okhttp连接池复用机制

7.10 okhttp 流程和优化的实现

7.11 一篇让你受用的okhttp分析

7.12 OkHttp面试之–OkHttp的整个异步请求流程

7.13 OkHttp面试之–HttpEngine中的sendRequest方法详解

7.14 OkHttp解析大总结

7.15 Okhttp任务队列工作原理

7.16 Android高频面试专题 - 架构篇(二)okhttp面试必知必会

7.17 Android 网络优化,使用 HTTPDNS 优化 DNS,从原理到 OkHttp 集成

7.18 Retrofit源码分析

7.19 RxJava源码分析

7.20 RxJava原理与源码分析

7.21 RxJava如何进行线程切换的?

7.22 Rxjava内存泄漏防止方案——RxLifecycle,AutoDispose,RxLife框架

7.23 Tinker源码分析

7.24 ARouter源码分析

7.25 Android框架层源码解析

7.26 算法设计

八、新技术篇

8.1 实战问题篇

九、面试篇

9.1 开源文档

9.2 面试文献

以上就是我的学习和面试积累,有自己面试经历过的,也有整理的一些大厂面试题,篇幅有限,具体内容就不展示了,我已经整理成文档了。

还是开头说的,仅靠面试期间临时抱佛脚和刷题对自身发展不是长久之计,做好长期提升的规划,好好沉淀每一次的学习和面试经历,把这些最终都转化成属于自己的东西才是实质上对自己最有用的。

你好,如阿里百度腾讯等互联网大厂的工程师,资深(架构师水平)工程师是非常有实力的。

以阿里为例:

1、阿里工程师岗位职级

阿里巴巴集团采用双序列职业发展体系:

一套体系是专家路线【P序列=技术岗】,程序员、工程师,某一个专业领域的人才,一共分为14级,从P1到P14,目前校招最低从P4开始。

一套体系是M路线,即管理者路线【M序列=管理岗】,从M1到M10。

一般来说,应届毕业生刚入职到阿里为P5,工作1-3年之后升职到P6,阿里一般到P7才给配股票。

目前阿里需求量最大的职级范围分布在P6-P8,这也是阿里集团占比最大的级别。P6级别的程序员title是高级工程师,P7便已经是专家级别,P8则是高级专家。一般而言,小有名气的阿里程序员至少也是P8级别。P10级别的存在就是传说中的大神级别,这个级别的程序员无一不是业界鼎鼎有名的人物,比如褚霸、毕玄等等。

2、阿里岗位薪酬

阿里薪资结构:一般是12+1+3=16薪

年底的奖金为0-6个月薪资,90%人可拿到3个。

股票是工作满2年才能拿,第一次拿50%,4年能全部拿完。

关于阿里股票,主要是阿里用来奖励员工忠诚度的,所以阿里分年限行权,想要离职套现真的是很难,更不要提高额税收了。

3、阿里工程师晋升体系

阿里的工程师一般工作几年后就要考虑转P(技术)系列还是M(管理)系列了。

P虽然是专家系列但是到了一定级别也会带人,比如P9的整个业务都会由他带。M相对P来说比较难升,很多P做了5-10年缺少升M的资历。

和腾讯一样,阿里也是一年有两次晋升机会,其中7、8月是比较核心层级的晋升,如P7、P8、P9,年底则是较低级别的。

考核因素是上一年的绩效分数+直属领导的打分+晋升委员会打分,这里的委员会一般由直属领导+合作方的高管+懂业务的HRG组成。HRG:HR多面手,base在业务下面,在阿里话语权比别的互联网HR高。

晋升标准:绩效满足3.75、主管提名、技术答辩通过。

P8架构师作为阿里「IT架构灵魂人物」的角色,他们不仅做着架构师的本职工作,还同时做程序开发,写核心代码的工作。另外,架构师依旧是技术高手,编程能力依然是一流的。

但根据当前的市场需求,互联网大厂们对于普通Java开发人才需求逐年锐减,而对互联网架构师人才的需求招聘量已经上升到50%,因此薪资更是不可同日而语。

对于想学习互联网架构师的同学来说,北大青鸟、课工场等优秀品牌都是不错的选择。课程根据招聘需求制定,包含全部分布式微服务技术,对标阿里P8级别架构师。

希望我的回答对你有所帮助!

移动时代、5G时代、物联网时代的大幕已经开启,它们对于 高性能、高并发 的开发知识和技术的要求,抬升了 Java工程师的学习台阶和面试门槛。

大公司的面试题从某个侧面映射出生产场景中对专项技术的要求。高并发的面试题以前基本是BAT等大公司的专利,现在几乎蔓延至与Java项目相关的整个行业。例如,与 Java NIO、Reactor模式、高性能通信、分布式锁、分布式ID、分布式缓存、高并发架构等 技术相关的面试题,从以前的加分题变成了现在的基础题,这也映射出开发Java项目所必需的技术栈: 分布式Java框架、Redis缓存、分布式搜索ElasticSearch、分布式协调ZooKeeper、消息队列Kafka、高性能通信框架Netty。

《Netty、Redis、Zookeeper高并发实战》为了让大家扎稳高性能基础,浅显易懂地剖析高并发IO的底层原理,细致细腻地解析Reactor高性能模式,图文并茂地介绍Java异步回调模式。掌握这些基础原理,能够帮助大家解决Java后台开发的一些实际问题。

本书共12章,主要介绍高性能通信框架Netty,并详尽介绍Netty的EventLoop、Handler、Pipeline、ByteBuf、Decoder、Encoder等重要组件,然后介绍单体IM的实战设计和模块实现。本书对ZooKeeper、 Curator API、Redis、Jedis API的使用也进行详尽的介绍,让大家具备高并发、可扩展系统的设计和开发能力。

由于内容较多,本次将展示部分截图,如果看得不过瘾想更加深入地了解本笔记彻底掌握,只需转发后私信回复【666】即可来获取免费领取方式了!