Android华为、阿里、头条面试,已拿到offer,分享下经历

448 阅读6分钟

辗转面试近半个月,下周正式入职头条,今天凌晨五点醒来,有点失眠,满脑子都是几件事,想找个出口记录一下。

当年硕士毕业的时候,按乡下亲戚的话算得上“别人家的孩子”,211硕士,应届时的薪资比较可观,程序员起点高,在三线城市买房买车,然后相亲结婚都是后来顺理成章发生的事,余不一一。

可是美好状态的保鲜期真的不长,职场好几年,因为过早的满足于现状,没有了干劲和冲劲,越来越感觉自己一事无成,不知道从什么时候开始,只愿意做分内的事情,所有的工作都中规中矩,薪资涨得慢又微薄,直到计划年前要小孩的时候,才恍然回过神,觉得自己好像不能确定给小孩很好的未来。

在原来的公司,很长一段时间每天的状态都很疲惫,得过且过,工作真觉得有什么困难也不至于,在半大不小的公司做Android程序员,只要不太懒都还能继续混,偶尔看着新入职的年轻人殷勤加班,问这问那的觉得很能折腾,甚至有点羡慕。

可能人到了中年就越来越怕折腾,习惯频繁的告诉自己要知足一些,肩上是父母和家庭,你没有一点出错的余地,蜗牛的壳很重,但也是它的家,要背好背稳。

跳槽的契机是和同学的一次聊天,被花里胡哨所谓“追求生活质量”的想法一冲脑,加上要准备养育小孩的压力,竟然开始真正找机会和联系内推面试了。

努力争取到的大厂机会有华为、阿里、头条,除此之外,还有一些和老公司差不多规模的,面试没有什么特别要讲的,就先略过。


1.华为四面


“大厂常见的面试流程整套下来是群面、技术面、综合面等

一般面大厂要熬的时间比较长,建议预留一整天的时间以及保持精神状态饱满

面大厂一定要提前做功课,除了技术知识之外,还有一个重点是,面对你想去的这个大厂,无论是华为还是字节跳动,单独的说下你对它的看法,和为什么想进的理由。”


被问到的面试题:


自定义 View!

View 的绘制流程。

自定义View的步骤。

PhoneWindow 实例是在哪个类哪个方法中实例化的?

Selector 是怎么实现的?

View 动画是怎么实现的?

为什么移动后点击事件还在原来的位置?

Android 系统源码方面

事件拦截和分发进程间的通信方式

应用的创建启动流程

Handler 是怎么导致内存泄露的

第三方库的源码,Glide、OkHttp 和 Retrofit MVC,MVP和 MVVM 开发模式优缺点

常用设计模式理解

Binder 驱动和虚拟机

数据结构和算法,Java 的常用集合和实现原理

ArrayListLinked

HashMap 的实现原理

缓存淘汰策略

红黑树和二叉树

最短路径规划

海量数据筛选

手写算法!

性能优化

如何检测一段代码的执行时间?

界面卡顿如何修复?

滑动不流畅怎么处理?

50fps 有什么办法可以提高到 60fps?

内存泄露怎么检测?

leakcanay 的原理?

线程和线程池

wait() 和 sleep() 的区别?

同步锁线程池的参数详解?

AsyncTask 源码参数详解?


2.阿里


“在阿里参加的是内推电话面试

常规的面试问题需要注意的就是上家离职原因,以及谈一下自己跟过的项目以及经历,遇上的hr问得很细,覆盖面很广,建议好好刷题,提前有一套流畅的话术

Hr喜欢问:为什么这么做,目的是什么?”

被问到的面试题:

自定义view、书架模块化

app的启动流程

helloword jvm是如何进行绘制到屏幕上的(类的加载过程)

java jvm垃圾回收机制

有没有看过什么源码?

okhttp原理、gilde等

如何使用okhttp去使用代理模式

https 如何连接,如何去申请证书,如何验证证书,证书如何传递

有什么工作是你主动提出来的,为什么要替换图片库,在shenm场景提出来的,别人提出了些什么

android中内存泄露是什么,有一些什么场景,有什么常用的工具(原理)

一次完整的http请求是什么样的

okhttp如何支持HTTP2的


3. 头条


“头条面试很快很直接,先在线编程,筛选掉比较尾部的之后再详细聊,感觉很顺畅,多刷题多刷题,大厂机会难得,不要倒在基础上。

以及用心重做简历也非常有帮助,平时放松的时候看看技术博客和书,保持一个专业敏感的状态。”

被问到的面试题:

简述Android事件传递机制, ACTION_CANCEL事件何时触发?

Android的进程间通信,Liunx操作系统的进程间通信

JVM虚拟机内存结构,以及它们的作用

简述Android的View绘制流程,Android的wrap_content是如何计算的

android的IPC通信方式,是否使用过

Android的多点触控如何传递

AMS以及PMS概述、启动流程等

面试的过程很考验心态和技术熟练度,个人很幸运实现了向前的大跨步,期待未来。

最近休息时间读了一本叫《饱食贫民》的书,写的是日本泡沫经济时代的个体故事,其实程序员不能常青的坎在上世纪90年代泡沫经济的日本就一直是个热搜了,计算机领域的更新代谢速度一直都很快,想站在浪尖上就要急流勇进,害怕被淘汰的“社畜”,唯一的出路就是再学点儿、多学点儿。

一直前行,才会不惧洪流

祝愿大家技术上长生不老,体力和精神也一直良好,早日年薪百万。

手上积累了一些面试真题、学习资料、学习笔记等等,均可以免费分享给同行大家,需要这些PDF的小伙伴,关注我,私信我,看到就会回复发送资料的。

以上。