+-
3年Android再战快手,心有不甘狂刷面试题,成功打脸快手


...


前言

说一下我大概的情况。渣本毕业,工作已经有快3年了,从初中就开始玩快手,快手真的是陪伴我很多年。大学主学的计算机软件专业,所以,入职快手是我大学时期给自己定的小目标。

在学校,专业学的算中上的水平,课本知识和老师讲的东西基本消化的八九不离十,也自己动手写过属于自己APP,参与过一些社团协会共同开发的项目。

刚毕业时候,快手也有校招,满腔热血的参加了,准备了好久,结果还是没有被录用。当时,挺失落的吧,但是也并没有放弃我进快手工作的梦想。

7月份的时候一位学长知道我非常想进快手,特意告诉我快手有内推名额,问我要不要来试一下,我一口直接答应,然后把手里的工作辞掉了,破釜沉舟一把,宅家里半个月复习。将学校所学知识点,以及工作3年的积累经验都系统的归纳整理了起来。再过一遍,然后就是刷面经,面试场景练习等等等。

世间所有的付出终是有回报的,努力的耕耘,也没有被辜负。从离职到入职,一个月时间,顺利的入职了快手,也是要感谢网友们提供的宝贵经验,所以整理了一下,把我的面经整理一下也分享出来给大家。


一面

自我介绍 JVM内存分布 Binder机制?Binder是怎么样实现Client、Server和ServiceManager通信的? HashMap底层、扩容、ReHash过程 锁?锁的自旋、公平锁非公平锁,CAS有了解吗? ViewModel的生命周期? ClassLoader机制?为什么要双亲委派 Android中一个View的显示渲染过程,自定义View的时候需要避免什么操作? Activity、Window、View之间的关系 实现一个单例有哪些方式?双重检验锁为什么要两次检验?为什么要加Volatile Volatile有啥用 ANR在什么情况下会发生 Handler机制、为什么Looper不会阻塞线程


二面

Acitivty的四种启动模式与特点 广播使用的方式和场景以及广播的几种分类 FrameLayout 、 LinearLayout 、 RelativeLayout 各自特点及绘制效率对比 Android中的MVC、MVP模式 App的启动过程 Android怎么加速启动Activity Bitmap的四种属性,如何加载大图(inJustDecodeBounds) Touch事件分发机制和冲突处理 Android IPC:Binder原理 Class文件结构(常量池) Java内存模型结构(主内存和工作内存)及操作,原子性可见性和有序性等 启动线程和安全的终止线程。(interrupt) TCP可靠传输原理实现(滑动窗口) Cookie与Session的作用和原理 Https加密原理


三面

TCP/UDP的区别,有看过具体报文的信息吗 你觉得开发一个SDK,需要注意哪些地方,有没有做过SDK性能测试 有了解过音视频的编解码吗 开放题:让你加载一个200M左右的GIF,如何实现及优化,不可降低画质 反问环节


HR面的话就不列举啦,就是一贯的聊一些职业规划,了解一下你的性格特点之类的。


小福利

前面我说破釜沉舟宅家半个月刷题刷面经,现在我拿到Offer了,把这份好运分享给近期有面试和想在技术道路上继续精进的朋友。也是希望可以帮助到大家提升进阶

内容包含:Android学习PDF+架构视频+面试文档+源码笔记高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 这几块的内容

如果你有需要的话,可以私信我【面试】我发给你

现在入职快手也有快一个月时间了,整体感觉还是很棒的,同事们都超棒的,超喜欢这里,打工是不可能打工的,这辈子都不可能打工的.....除非在快手hhhh,真香~

看到最后记得一键三连呀~最后也祝愿各位小伙伴都能得到自己心仪的offer~


...
... ... ...