作为一个3-5年的Android工程师,我们经常会遇到这些瓶颈:
1.技术视野窄
长期在小型软件公司,外包公司工作,技术视野被限制的太厉害
2.薪资提升难
初中级Android岗位薪资上升空间有限,基本上你想拿15k以上,不会点源码层的东西是根本拿不到的
3.学习资源少
入门之后想要提升很难,靠自己接触的简单业务项目,去反复操练那些cv技术。博客和书本上的技术大多比较抽象并且零散,可以借鉴和指导,但是没办法复制成自己的
有了这份阿里众位P7大神整理的Android开发核心知识笔记,所有的瓶颈通通都能快速打破。
献上面经~
一面:
0.自我介绍完 , 说说项目 , 从第一个到最后一个;
1.问了常用布局有哪几种;
2.Activity生命周期有哪些 , 具体什么情况下回调;
3.问了进程间通信 , Binder、管道、socket等;
4.问了View事件的传递 , activity-window-decorview-view;
5.事件怎么从手指传递到activity的;
6.LongClick和OnClick分别怎么触发的;
7.说说Java类加载器 , Android有哪些类加载器 , android顶级类加载器是什么;
8.怎么自己加载一个类 , 不让父加载器去加载 , 自己load的话 , 怎么解决其它类加载器的引用;
9.说说内存优化(内存泄漏、大对象优化等) ;
10.说说openGL(举了一个实例 , 做一个画中画);
11.说说netty(之前项目提到过) , 基于什么线程模型 , 为什么能承载高并发;
12.说说你最擅长什么(说了x86项目移植 , 算法优化);
13.写一个排序算法 , 时间复杂度多少 , 怎么优化(写了归并 , 说了加希尔) ;
14.写一个常用的动画。
二面:
1、自我介绍?
2、很大数组中找第K大元素?
3、项目相关?
4、比较擅长什么语言?脚本性语言?
5、三次握手?
6、UDP数据包长度多少?
7、研究经历?
8、最近看的书?
9、对Linux环境的了解?
10、进程的状态有几种?
11、你觉得你优势的地方?
12、平时学习开发过程中遇到什么困难?
13、发表了几篇论文?
14、进程和线程的区别?线程池?
15、多线程要注意什么问题?
16、有什么想问的?
三面:
1、项目?项目难点?花了多久时间?
2、有了解哪些最短路算法?如果速度不够,你要怎么优化?
3、最近在看哪些书?
4、平时关注哪些技术?
5、进程与线程的理解?什么时候用进程什么时候用线程?
8、说一下平时的一些学习习惯?
9、团队沟通能力?
10、遇到的最困难的事情?
11、你有什么优势?有什么缺点?
13、对于OFFER怎么选择?考虑哪些因素?
14、有什么想问的?
学习路线+知识梳理
花了很长时间,就为了整理这张详细的知识路线脑图。当然由于时间有限、能力也都有限,毕竟嵌入式全体系实在太庞大了,包括我那做嵌入式的同学,也不可能什么都懂,有些东西可能没覆盖到,不足之处,还希望小伙伴们一起交流补充,一起完善进步。
本文在开源项目:Android开发不会这些?如何面试拿高薪 中已收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…
%BD%95%E9%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md) 中已收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…
这次就分享到这里吧,下篇见。