背景

楼主双非吊车尾一本毕业,14年正式进入编程行业,从事Android移动开发。一些个人的原因,年前从一家公司裸辞,带着老婆孩子离开了杭州。

本想着回家过完年也就差不多赶上“金三银四”黄金季,换个新环境。谁曾想疫情爆发,直接就在家隔离到了四月初。在祖国强有力的管控下,疫情得到了有效的遏制。我也赶着金三银四的尾巴,开始了自己的面试之旅,今年的大环境并不是很好,所以明显能感觉到收到面试邀请比往年少很多。

下面记录一下我的面试经历吧。还有我个人的一些小总结的经验,希望可以给大家一个参考借鉴的作用,也希望大佬们可以给个点赞关注支持一下。。谢谢~~

华为5星offer(华为TCL大疆面试经历)(1)

关于简历:

面试的一切当然是从简历开始,你的简历决定了你能否收到面试邀请。简历美观的重要性就不用我多说了,提几个小建议:

1、不要太过复杂臃肿。能尽量精简就尽量简单些,最好的是整个简历上没有一个多余的字眼,面试官看到的每一个字都是对你自身的表达。切记!千万不要那种一个名字,一个电话就占个一行,一页纸上零零散散几个字,简历给整个好几页。你以为页数越多逼格越高,其实在面试官眼里,这人就是个nc,华而不实,不脚踏实地。

2、自己的优点,擅长,要尽量写上去,哪怕是个小小的英语四级证。做过哪些项目,哪些公司经历,有哪些收获。

3、千万不要不懂装懂!不会的技术千万不要写进简历里。面试官面试你的时候大多都是根据你的简历来提问相关的技术点,你不会的技术,你写进去,那不是给自己挖坑呢,而且别人会感觉到你这个人不诚实,那面试大概率就凉了。

下面是我看过的一份非常美观的简历,让人一眼看上去就很舒服的简历,会大大提高你获得面试的机会。

华为5星offer(华为TCL大疆面试经历)(2)

关于面试

去面试前肯定是要有自己的知识储备的,技能树之类的,一定要将零散的知识点归纳总结起来,形成知识体系。

其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。【Android 详细知识点思维脑图(技能树)】

华为5星offer(华为TCL大疆面试经历)(3)

面经、真题华为

一面

1.自我介绍

2.应用启动流程,Activity 启动流程,为什么要每个应用有一个自己的虚拟机,这个虚拟机和JVM的关系。

3.hashmap的基本原理

4.来说一说,在5.0以上和4.0加载dex时的方式有什么区别?

5.说一下你了解的Android虚拟机有哪些?

6.这两个虚拟机有什么区别吗?(上题说了ART虚拟机,dalvik虚拟机)

7.Handler持有Activity的引用会造成内存泄漏,那么如何避免?

8.ANR 的原理说一说

9.三次握手,四次挥手简单说下

10.okHttp的原理了解吗?使用时是如何对它封装的?

11.http和https什么区别?

12.算法题:双链表反转

二面

1.一分钟自我介绍

2.说说你工作经历中最满意的项目

3.能画一下这个项目大概是架构图吗?

4.最困难的点是什么,怎么解决的

5.做过哪些性能优化呢?

6.耗电优化是怎么做的

7apk编译打包流程 V1,V2 签名区别

8.如果一个app无法访问网络,你怎么做数据存储。

9.handler中loop方法为什么不会导致线程卡死,动画的原理,有没有实战过补间动画;bugly上面收集到的最难的bug是怎样的,如何解决的?

10..React Native跟原生开发的优劣

三面

1.自我介绍一下

2.你做了Android这么久了,说一说你擅长的地方

3.MVC MVP MVVM原理和区别

4.如果要你自己去实现一个图片库,怎么做?

5.binder的Native层代码看过吗

6.在以前项目中主要担任什么角色呢

7.你觉得自己的优势在于哪些地方

8.对未来工作有哪些预期,比较喜欢做哪一块

9.有什么想问我的吗

华为5星offer(华为TCL大疆面试经历)(4)

大疆

一面

1.Acitivty的四种启动模式与特点。

2.广播使用的方式和场景以及广播的几种分类。

3.FrameLayout 、 LinearLayout 、 RelativeLayout 各自特点及绘制效率对比。

4.Android中的MVC、MVP模式。

5.App的启动过程。

6.Android怎么加速启动Activity。

7.Bitmap的四种属性,如何加载大图(inJustDecodeBounds)。

8.Touch事件分发机制和冲突处理。

9.Android IPC:Binder原理。

10.Class文件结构(常量池)。

11.Java内存模型结构(主内存和工作内存)及操作,原子性可见性和有序性等。

12.启动线程和安全的终止线程。(interrupt)

13.TCP可靠传输原理实现(滑动窗口)。

14.Cookie与Session的作用和原理。

15.Https加密原理。

二面

1.TCP的三次握手与四次挥手过程。

2.CAS介绍。(compare and swap)

3.Synchronized和锁的等级(方法锁、对象锁、类锁)。

4.Synchronized的wait(sleep的区别)和notify运行过程。

5.handle内存泄露

6.如何保证微信发送消息可以传达到,跳出TCP思维想想(结果还是抄了TCP思想)

7.HashTable理解,初始带大小,扩容机制,HashMap,还有哪些安全的map

8.什么情况下使用 ViewStub、include、merge?他们的原理是什么?

9.AsyncTask是串行还是并行执行?AsyncTask随着安卓版本的变迁

10.onTouch和onTouchEvent区别,调用顺序

11.onMeasure, onlayout, ondraw方法中需要注意的点

12.view 重绘机制

13.handler中loop方法为什么不会导致线程卡死,动画的原理,有没有实战过补间动画;bugly上面收集到的最难的bug是怎样的,如何解决的?

三面

1.hashmap的基本原理

2.插件化的原理

3.MVC MVP MVVM原理和区别

4.Binder通信机制

5.你认为自己最擅长的领域是什么

6.说说对大疆的了解

7.对自己应聘的岗位有什么期待

8.有什么问我的?

华为5星offer(华为TCL大疆面试经历)(5)

TCL

是一个猎头推荐的一个职位,主要应该是做TV上的相关项目,有VR类型类似的项目等等,一面居然是一个妹子和一个男的一起进来的,还是第一次遇到,没问多少基础知识点,更多的是根据自身项目问一些东西

1、TCP/UDP的区别,有看过具体报文的信息吗

2、你觉得开发一个SDK,需要注意哪些地方,有没有做过SDK性能测试

3、有了解过音视频的编解码吗

4、你觉得你这个项目中比较难的地方在哪里,你是如何解决的

5、开放题:让你加载一个200M左右的GIF,如何实现及优化,不可降低画质

6、如何优化一个列表滑动的流畅性

彩蛋

总而言之,成功是留给准备好的人的。无论是参加什么面试,都要做好充足的准备,注意好面试的礼仪和穿着,向面试官表现出自己的热忱与真诚就好。即使最后没有过关,也要做好经验的总结,为下一次面试做好充足准备。

刚刚做开发那几年在小厂待着,最期待的就是进大厂,觉得大厂里面的技术牛逼,工资又高,还带有光环,只是可望不可及

到现在能够伸手去拿到了,又觉得没有那么想要了。人真是奇怪啊。

我为了这次跳槽,花半年时间整理了一份共计3000页的腾讯、华为、阿里等互联网大厂历年全套系统面试真题集锦,深入学习源码底层,架构设计。而且也刷了很多大厂面试真题。也切身体会到了一分耕耘一分收获。

现在面试成功了,把这些高级视频教程和面试题分享给有需要的朋友吧,省得自己去网上收集麻烦;

华为5星offer(华为TCL大疆面试经历)(6)

免费分享?是的 免费分享,关注后私信我【面试】就可以发给你了

小纠结

这两天还陆陆续续接到了阿里巴巴无线部门的面试、OnePlus的面试等(内心ps:早tm哪去了),都是之前投的短时间没回应,但是因为感觉自己面试状态也不太好了,而且这种面试都会持续很久很久,就直接放弃了,毕竟裸辞的,真的建议大家不要随便裸辞

目前是在华为和大疆之间选一家。有点纠结

华为是业内出名的工资多,月薪32k,16薪,还有年终奖。但是996是一定的,还有各种“狼性文化”也是早有耳闻,不知道身体是否吃得消。。。

大疆加班不多,中规中矩,福利各方面也挺好,但是只给开了18k。

本来我是决定去华为的。想趁着还年轻,还多攒点钱到手里,但是老婆不希望我那么累,也不想我工作到忙的没有时间陪家人,所以有点小纠结。大家可以给点建议吗?欢迎评论区留言。

总结

都说今年的环境不太好,个人感觉的话,比较前几年的确实是的,特别基本社招都是3年↑的,可能有些hc多的话会给些机会,而且对面试者的要求更高了,特别是性能优化这块的,基本都会问到。

然后就是一些源码级别的问题,也会涉及到一些项目架构,思想这一块,也是需要自己慢慢沉淀的东西,这里要说一点,自己简历上面写的东西,一定要能兜得住,就算有些问题没有回答好,可以大概说下自己的想法,可能有些问题就是没有答案的

华为5星offer(华为TCL大疆面试经历)(7)

,