十年未见,当初的Android大佬已经不再牛逼,生活让他承受了太多无奈

缘起

当初认识武哥是在一个2012年的一个相亲Party上,武哥带着一个黑框眼镜,穿着一身格子衬衫,一条休闲裤搭配一双运动鞋,脸圆圆的,看起来十分老实,当时他正坐在角落里玩着手机,我当时是听家里的安排过来相亲的,抱着玩一玩的心态,就挑了武哥旁边的位置坐下。

看了武哥一眼,随口说道:“哥们是搞编程的吧”,他笑着回了一句,说:“是啊!怎么你也是”?“就勉强会一点”我说

于是便有一搭没一搭的聊了起来,编程的前途,个人的规划,以及这次来相亲的起因等等,由于两人聊得比较投机,于是便互换了联系方式,说是以后有机会一起吃饭。

其中说了几个有意思的地方,他原本是某大厂的程序员,主要是干运维,趁着这次过年回家,家里便给他安排了相亲,就抱着试试看的心态来了,看能不能捡一个回去,

他说“这回找到女朋友了我就辞职回家,在家里找个工作,就这样过日子吧,其实慢节奏的生活也是我一直追求的,虽说进了大厂,但也一直不快乐,你别看面试有多难什么的,其实就是一个考试,只不过这个考试的要求比较高,考过了你便没什么觉得难的了,像我就是这样,当初筹备了三个月,面试了十几个厂,其实就是 面试造航母,工作拧螺丝 大厂里面每一个岗位都是按部就班的工作,没有什么学习的地方,所作的工作稍微有点本事的程序员都能做好,只不过门槛比较高罢了,也学不到什么东西,晋升也是个麻烦,虽说当初运气好,勉强进来了,厂里面人才也多, 但是由于人才过于泛滥,工作内容的固化,他们都失去了原有的冲劲,这也是我想离开的原因”

我苦笑道:“我做梦都想进去嘞,你还想出来”于是我趁着这个机会向他讨教到关于怎么进大厂,他给我说了很多个方面的注意点,就算最后你进不了大厂,但是一般的小厂的要求也没有这个高,进个有潜力的小厂还是没什么问题的。还提到了回家之后给我整理一份资料发给我看看,希望对我有所帮助;关于这份资料后面会放出来

后续

关于武哥后面的事情,就是现在,去年过年的时候和他吃了顿饭,聊到了这个事情,我也如愿以偿拿到了大厂offer,吃饭的时候了解到,他竟然真的在那年找到自己的老婆,长相一般,身材一般,家境一般,总之我是觉得武哥有点屈才了,酒过半寻,我借着醉意问道:“武哥当初是咋看上嫂子的”

他说:“害,你别提了,她啊,死缠烂打,不依不饶,我也只好答应了她,说话之时脸上洋溢着幸福的表情”
他也和当初说的一样,辞掉了当初大厂的工作,回家找了个比较轻松的工作。和家人过上了幸福的小日子。

关于上面说到,武哥给我的几份资料下面我简单的贴一点上来给大家看看,由于时间间隔很长,我也自己整理了一段时间,希望对各位有所帮助

因面试题和答案包含的技术点比较多,无法在简书上全部展示,所以整理了PDF文档供大家面试时做参考,需要这份《Android面试题+答案整理》PDF的朋友可以前往 GitHub自行查阅

一、Java 基础+进阶

  • JVM
  • Object
  • static
  • final
  • String、StringBuffer. StringBuilder
  • 异常处理
  • 内部类
  • 多态
  • 抽象和接口
  • 集合框架
  • 反射
  • 单例线程
  • volatile
  • synchronized
  • Lock
  • 引用类型
  • 动态代理
  • 元注解

Android 知识点汇总

  • Activity
  • Fragment
  • Service
  • BroadcastReceiver
  • ContentProvider
  • 数据存储
  • View
  • 进程
  • Parcelable接口
  • IPC
  • Window / WindowManager
  • Bitmap
  • 屏幕适配
  • Context
  • SharedPreferences
  • 消息机制
  • 线程异步
  • RecyclerView 优化
  • Webview

Android 扩展知识点汇总

  • ART
  • Hook
  • Proguard
  • 架构
  • Jetpack
  • NDK开发
  • 类加载器

常见面试算法题汇总

  • 排序
  • 二叉树
  • 链表
  • 栈/队列
  • 二分
  • 哈希表
  • 堆/优先队列.
  • 二叉搜索树
  • 数组/双指针
  • 贪心
  • 字符串处理
  • 动态规划
  • 矩阵
  • 二进制/位运算
  • 其他

下面的截图就是我第一次的面试题记录,当天面试完晚上回到家写下的几个问题。

现在从上面的几个问题,发展成了面试必刷的项目,以下问题是我整理的最新的一线公司面试记录,文章最后有我多年面试的经验分享给大家,希望拿到这份文档的朋友可以趁着春节的这段时间,好好沉下心来筑好Android基础,拓展自己技术扩展面。最后,在明年的春招中能拿到自己心仪的offer。

Android基础问题相关(面试题与答案已整理成了PDF文档):

1、接口的意义-百度
2、抽象类的意义-百度
3、内部类的作用-乐视
4、Java 虚拟机的特性-百度-乐视
5、哪些情况下的对象会被垃圾回收机制处理掉-美团-小米
6、进程和线程的区别-猎豹-美团
7、java中==和equals和hashCode的区别-乐视
8、HashMap的实现原理-美团
9、string-stringbuffer-stringbuilder区别-小米-乐视-百度
10、什么导致线程阻塞-58-美团
11、多线程同步机制-猎豹
12、ArrayMap对比HashMap
13、hashmap和hashtable的区别-乐视-小米-360
14、容器类之间的区别-乐视-美团
15、抽象类接口区别-360

Android 方面(面试题与答案已整理成了PDF文档)

16、如何导入外部数据库?
17、本地广播和全局广播有什么差别?
18、intentService作用是什么,AIDL解决了什么问题-小米
19、Ubuntu编译安卓系统-百度
20、LaunchMode应用场景-百度-小米-乐视
21、Touch事件传递流程-小米
22、View绘制流程-百度
23、多线程-360
24、Handler,Thread和HandlerThread的差别-小米
25、线程同步-百度
26、什么情况导致内存泄漏-美团
27、ANR定位和修正
28、什么情况导致oom-乐视-美团
29、Service与Activity之间通信的几种方式
30、如何保证service在后台不被Kill
31、Requestlayout,onlayout,onDraw,DrawChild区别与联系-猎豹
32、Android动画框架实现原理
33、Android为每个应用程序分配的内存大小是多少-美团
34、优化自定义view百度-乐视-小米
36、volley-美团-乐视
37、Glide源码解析
38、Android设计模式
39、Android属性动画特性-乐视-小米
40、Activity Window View三者的差别,fragment的特点-360
41、invalidate和postInvalidate的区别及使用-百度
42、LinearLayout和RelativeLayout性能对比-百度
43、View刷新机制-百度-美团
44、架构设计-搜狐

腾讯公司Android面试题精选

45、2000万个整数,找出第五十大的数字?
46、从网络加载一个10M的图片,说下注意事项
47、自定义View注意事项
48、项目中常用的设计模式
49、JVM的理解

阿里Android面试题精选
50、进程间通信方式
51、什么是协程
52、内存泄露是怎么回事
53、程序计数器,引到了逻辑地址(虚地址)和物理地址及其映射关系
54、数组和链表的区别
55、二叉树的深度优先遍历和广度优先遍历的具体实现
56、堆的结构
57、bitmap对象的理解
58、什么是深拷贝和浅拷
59、对象锁和类锁是否会互相影响
60、looper架构
61、自定义控件原理
62、自定义控件原理
63、ActivityThread,Ams,Wms的工作原理
64、Java中final,finally,finalize的区别
65、一个文件中有100万个整数,由空格分开,在程序中判断用户输入的整数是否在此文件中。说出最优的方法
66、两个进程同时要求写或者读,能不能实现?如何防止进程的同步?
67、volatile 的意义?
68、烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?

面试题及答案整理部分截图

面试经验分享

我也算是一线公司都踩过点的Android 码农了,Google也踩过一次,现在就说说我自己的一些感受。在阿里的时候我作为面试官接触过几十个面试者,能左右我是不是通过这个人的,主要因素还是这个人对技术的热爱程度。

因为有这种极客精神,做任何技术上的事情都是时间上的问题,所以面试过程中要尽可能表现出对技术的热爱。

那除了这种因素外,我们怎么做才能更大概率的进入一线公司呢?

还有一个比较重要的因素就是知识的深度。我认为深度优于广度,广度通过看各种文章都能了解,但一旦碰到实际问题,这时候往往靠的是自己的知识深度。比如,Android程序员们很多人知道四大组件职责都是什么,还会些性能优化,但是如果不知道Framework层系统服务原理,就做不出插件化框架。

因为一线公司业务的复杂度也决定了业务的深度,如果没有较好的深度探究能力,是很难胜任的,所以知识的深度也很重要。极客精神加上某一领域知识的深度能力,就可以达到一线公司标准了。面试中非理性因素也有较大比重,但是这种东西是我们没办法掌控的,如果因为这种因素失败了,也没必要气馁。

我认为能力是和回报成正比的,就算此刻没发生,下一刻也会出现,只要掌握了我们该掌握的能力,总有一天会进入我们理想的公司。

其他资料

有学习大纲,Kotlin知识点汇总 ,计算机网络基础,C++知识点汇总,Gradle知识点汇总,设计模式汇总,Android 开源库源码分析,NDK,跨平台...........等一系列资料汇总,由于篇幅原因我就不一一例举了,需要资料的朋友可以前往 GitHub 自行查阅。

猜你喜欢

转载自blog.csdn.net/Androidbye/article/details/114639493