由于最近面试了几个人,印象最深刻的求职者是world(匿名),一个普普通通在深圳打拼的小年轻。来深圳两年,见过深圳粤海街道凌晨5点的夜晚,经历过公司从裁员到倒闭,为了生活,也去过部分人不想去的公司。
关于面试
我是初试的面试官,对他的印象是一个瘦瘦的男孩,手提着一个布袋。
我拿着HR给我简历,简历上写着华为技术有限公司,我以为他是一个大佬。。
开始没有聊起技术问题,聊了聊他的经历
“7月份,我疯狂的投简历,看面试题,希望可以进大公司去看看,作为一名二本计算机专业毕业的大学生,不奢求BAT,但还是想去有规范的大公司见见世面。我也有幸过了软通动力,面试了我觉得还挺大的公司——华为,这可是我不敢想的公司,能在本部上班,当时高兴极了。”
“在华为干了1个月了,我跑路了。起初领导让我临时做测试的活,后面又把调去做实施工程师,其实这些都不是很难掌握,就是重复的工作多,仿佛和流水一样,电脑是华为内网,还不能自带电脑。”
“想着自己未来,再这么下去,我就废了,我和我的领导说,我想转回Android。领导回答我说,这边Android招多了,要么你回软通安排去其他组,要么继续干实施。我回怼了领导,那你招这么多客户端干嘛?”
“第二天,我接到了HRBP的约谈,只能重新安排华为其他组的客户端岗位,或者办理离职。当时,我感觉我的天塌下来了,我认为的大公司原来是这样的,我在回家路上,一边提离职一边调节自己的情绪,仿佛深圳不适合我,什么狗屁来了就是深圳人。”
“第三天,我办理很多手续,我拿到了离职证明,写的是软通动力。最近我投递了很多公司发现写软通动力没什么面试机会,我就写华为,发现真的面试机会变多了。
顿时,我才明白,原来我认为的华为大佬是华为外包大佬,看来是大误会了。
面试题分享
在他身上仿佛看到了自己曾经的身影,当初来深圳的时候,独自一个人买了一张从长沙来深圳的火车座票,为了省下那两百块钱,这几年的经历,工资从5k翻了N倍(不要问我几倍了,问就是10倍),如今每次回长沙都是坐高铁,毕竟我这老腰也坐不了那八个小时的硬座了。
我对他说:“给自己多一点时间,时间会证明一切。”
他提起他的布袋走了。
面试题分享
一面
1、模块化,组件化,开发中要点有哪些。组件间如何去除强依赖。
2、Android11有没有适配
3、flutter中State的生命周期,didUpdateWidget方法何时调用
4、包体积如何优化
二面
1、上家公司期间你的技术亮点,期间遇到什么问题,如何解决的,原理深挖。
2、View的绘制流程。MeasureSpec,关键方法,
3、LRU如何实现的?LinkedHashMap如何实现的?LinkedHashMap是否线程安全?如何实现线程安全?有序还是无序?
4、ThreadLocal干嘛的?用法和原理。
5、HashMap讲一下,数据结构、hash过程、扩容、加载因子为何是0.75等。
6、Handler讲一下。Message#what的不同值,会影响Message在MessageQueue中的顺序么?
7、讲下Java的双亲委派
8、插件化和热更新原理
9、讲一下锁,synchronized和Lock。CAS原理
10、事件分发
三面
1、对vue的掌握程度
2、现有项目情况
3、包体积优化细节
4、画现有项目的架构图
5、后端交互过程中有遇到什么难以解决的问题么?如何解决的。
6、讲下你觉得最好或者最自豪的项目
四面
1、讲下hashmap;链表转红黑树的限制为何是8;红黑树的时间复杂度;红黑树转链表的限制为何是6;current hashmap在所有情况下都是线程安全的吗?hashtable呢?
2、synchronized实现。非静态方法A和B在同一个类中,方法A用synchronized修饰,当A方法因为多线程请求有线程阻塞在对象锁上的时候,B方法的访问受不受影响?
3、既然泛型有编译期类型擦除,那么运行时无法获取到具体类型;而反射能在运行时获取到Class的类型;它们一个获取不到,一个可以获取到,这不就是矛盾么?请解释下细节。
4、在同一个手机上,如果把drawable-xxhdpi下的图片移动到drawable-xhdpi下,图片内存是如何变的,解释原理。如果在drawable-hdpi、drawable-xxhdpi下放置了图片,但是手机是xhdpi的,会优先加载哪个,加载优先级是怎样的?如果是400*800,1080*1920这种呢,会如何查找?xhdpi和400*800同时存在时,会如何查找?布局文件呢?
5、图片内存优化;
6、Handler机制。MessageQueue中的Message是如何排列的?Msg的runnable对象可以外部设置么,比如说不用Handler#post系列方法(反射可以实现);
7、application中持有静态的用户信息,有何缺点?如何改进?
8、mvp和mvvm,jetpack
后记
面了他以后,很有感触,并不是他不够优秀,毕业两年,真实的经验就一年多,半年封锁在家办公,公司倒闭,或许是为了生活去了外包公司,没有充分的时间准备,毕竟我们客户端的征途是星辰大海。他那些不为人知的故事,更让人反思,是客户端水太深,还是时间辜负了每一个对深圳向往的人?
我把本次的面试题目答案以及其他大厂面试必背的面试知识点整理到了我的 Github 上面了
有需要的小伙伴可自行查阅
项目地址: Android面试笔记
这份面试笔记可以分为:
1,Java基本知识点
2,Android初级面试题知识点
3,Android高级面试题知识点
4,Android初级面试题
5,Android高级面试题
6,500道高薪Android面试题
同时针对某一些大厂,我都有一些心得体会也在笔记中记录了下来,希望能提高大家的面试成功率。