如何做好面试突击,规划学习方向?
面试题集可以帮助你查漏补缺,有方向有针对性的学习,为之后进大厂做准备。但是如果你仅仅是看一遍,而不去学习和深究。那么这份面试题对你的帮助会很有限。最终还是要靠资深技术水平说话。
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。建议先制定学习计划,根据学习计划把知识点关联起来,形成一个系统化的知识体系。
学习方向很容易规划,但是如果只通过碎片化的学习,对自己的提升是很慢的。
我搜集整理过这几年字节跳动,以及腾讯,阿里,华为,小米等公司的面试题,把面试的要求和技术点梳理成一份大而全的“ Android架构师”面试 Xmind(实际上比预期多花了不少精力),包含知识脉络 + 分支细节。
在搭建这些技术框架的时候,还整理了系统的高级进阶教程,会比自己碎片化学习效果强太多。
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
7.Activity的启动模式,应用场景,然后举了很多微信的场景,让我去选择用那种启动模式,说下理由。8.Activity进程的优先级。
9.如何防止微信不被系统杀死?
10.service两种启动模式,区别
11.两种启动模式,如果我在退出Activity的时候没有退出service会怎么样。
12.设计一个图片浏览框架,(线程池,lru缓存,brabra的说了一堆)。
13.有一个很大很大的图片加载到内存上,不能降低清晰度和压缩图片你怎么解决?(提示我局部显示?我没懂)
14.如何适配不同厂商的手机,然后设计模式,brara又说了一大堆,最后还说到jetkins自动部署上面去了
15.AsyncTask源码分析,每个方法在哪个线程执行的?
(一面面试官真的很好,有些你不懂的他还举例教你,一面我觉得难度比较大,常规的背题肯定会不满意的,题目比较少,引申出来的知识点却很多,大部分时间都是我在谈自己的解决思路然后分析到知识点的源码上面去,比如说像如何防止微信不被杀死这种,其实我说了常用的进程保护思路,它还要我分析其他情况)
面试官说我不错,叫我明天准备二面,电话一挂,我就愉快地去吃饭,吃着饭看状态灰了,这谁顶得住啊~
回去看完电影之后,再查一下状态,变成了复试,估计之前是到时间简历被释放了。
腾讯二面
(二面总监/面委,由于开会,鸽我半个小时)
1.上来大数相乘,我做的眼泪都快流出来了。
2.put和post的区别,应用场景。
3.看了我的flutter项目,我改了一个框架,问我这个框架。
4.让你设计一个跨平台的框架,你怎么设计(这里我谈了flutter的架构)。
5.https的流程。
6.fragment的懒加载。
7.一个商场里有一个电影院,你会把厕所建设在哪里,说一下你的理由?
hr面
(鸽了我20分钟,腾讯都是大猪蹄子?哈哈~~开玩笑,面试官真的很忙,有时候换位思考一下,心态好点)
1.自我介绍
2.为什么选择微信?
3.对我们了解吗?
4.愿不愿意来
5.家里的情况
6.什么时候可以来实习,可以实习到什么时候(入职)
阿里
阿里一面
1.自我介绍
2.自己看过的源码,说一下?
3.接下来就EventBus的东西了,还是老问题,优缺点,有没有什么问题,列举了很多场景,我看源码看的比较细,根据自己看过的东西做回答和分析,然后还是,接口回调和观察者模式之间的选择。
4.问我你看过这么多源码,你觉得什么东西最重要?
5.答了源码中看到了大量的反射使用,多线程方面,Collections,数据结构这些。
6.问我多线程,引申出handler,我从handler的源码去解释
7.handler引申出的内存泄漏,为什么静态内部类不会持有外部对象
8.接下来还是场景题,图片框架的实现,涉及到的Lru缓存,线程池,线程池该如何分配线程数量。
9.APP从打开到显示之间发生的事情。
10.为什么java可以调用c/c++的函数,调用jni发生的事情说一下。
11.动画种类,使用动画的步骤,有没有看过动画框架的源码。(面试官说我在应用层上基础知识很好,懂得去看源码学习,但是android深度不够,应该要往Framework和c/c++那边学习)
阿里二面
1.自我介绍
2.还是自己对EventBus的理解。
3.学习Android的过程
4.项目遇到的问题,怎么解决的
5.回答过程中提到csrf,问原理
6.对公司有什么要求
7.IPC
8.socket的连接过程(说我这方面的技术和兴趣不错,但是缺少大型项目的经验,考虑不够全面,如果有一个机会给我就很好了。)
阿里三面
1.自我介绍
2.详细说我第一个项目
3.http缓存
4.如何把ip地址存储在一个int 变量里面?
5.详细介绍第二个项目(30min,面试官说我自己对技术的热情很不错,让我保持下去,口头直接让我过,让我等hr)
阿里HR面
1.上来突然莫名其妙问我一堆与专业无关的,还问我这个专业跟计算机有什么关系(我是软件工程),我:
我有点懵(原来看错简历了)
2.从小到大最有压力的事
3.数学怎么样
4.你考上这个学校是正常发挥吗? 我回答的是!/(ㄒoㄒ)/~~ 很凉
5.什么事情让你觉得自己喜欢移动端
6.哪里人,想去哪里(hr面只有15分钟,感觉不太好)(昨天收到offer意向书,整个流程横跨两个月)
总结
总结
找工作是个很辛苦的事情,而且一般周期都比较长,有时候既看个人技术,也看运气。第一次找工作,最后的结果虽然不尽如人意,不过收获远比offer大。接下来就是针对自己的不足,好好努力了。
最后为了节约大家的时间,我把我学习所用的资料和面试遇到的问题和答案都整理成了PDF文档
喜欢文章的话请关注、点赞、转发 谢谢!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
提升。**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!