如何成为Android高级架构师!
架构师必须具备抽象思维和分析的能力,这是你进行系统分析和系统分解的基本素质。只有具备这样的能力,架构师才能看清系统的整体,掌控全局,这也是架构师大局观的形成基础。 你如何具备这种能力呢?一是来自于经验,二是来自于学习。
架构师不仅要具备在问题领域上的经验,也需要具备在软件工程领域内的经验。也就是说,架构师必须能够准确得理解需求,然后用软件工程的思想,把需求转化和分解成可用计算机语言实现的程度。经验的积累是需要一个时间过程的,这个过程谁也帮不了你,是需要你去经历的。
但是,如果你有意识地去培养,不断吸取前人的经验的话,还是可以缩短这个周期的。这也是我整理架构师进阶此系列的始动力之一。
成为Android架构师必备知识技能
对应导图的学习笔记(由阿里P8大牛手写,我负责整理成PDF笔记)
部分内容展示
《设计思想解读开源框架》
- 目录
- 热修复设计
- 插件化框架设计
《360°全方面性能优化》
- 设计思想与代码质量优化
- 程序性能优化
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
-
自我介绍
-
TCP/UDP 三次握手、比较TCP、UDP,TCP是如何实现可靠传输的(序号、确认、重传机制)
-
HTTP版本
-
HTTPs加密过程
-
面向对象
-
设计模式(引申出锁)
-
事件分发机制->场景题:纵向的列表RecycerView中的横向滑动的ViewPager,如何处理事件的分发
-
Handler
-
MVP、MVC
-
Sychronized底层如何实现
-
项目->Flutter
-
大文件如何读入排序,然后统计出出现最多的数值。
-
排查闪退
-
容器类介绍和存在的问题
-
内存泄漏
-
数据缓存方式
-
框架
-
反问
-
线程池
-
动态代理和静态代理(不清楚)
有赞二面(3-1)
-
为什么用Flutter
-
Flutter 如何和原生通信
-
Flutter 前景你怎么看
-
这里问了一个什么什么Quos还是Aquos,压根听不清,直接答了不会。
-
Kotlin和Java的区别(答了语法糖和多线程方面)
-
引申出线程池
-
多线程间互斥,悲观锁(Sychronized)、乐观锁(CAS)
-
可见性和原子性
-
引申出Volatile + 指令重排
-
懂哪些架构,MVP、MVC(答了MVP和MVC,MVVM不清楚),MVP的生命周期如何管理
-
有没有了解过Jetpack
-
问项目,外设和手机是否有连接不稳定的情况?
-
最近在读那些书?
-
引申出哪些设计模式:单例(线程安全和非线程安全,第三种线程安全的单例没答上来、外观模式、观察者模式、静态代理
-
HashMap 1.7和1.8的区别,Size的限制、初始大小。
-
自己写的后端?
-
学过前端?(Vue.js)
-
算法题:怎么判断链表是否成环。
-
反问
有赞三面(3-4)
-
自我介绍
-
Flutter
-
看之前面试官问了你Flutter,问了什么,那你能说说MicroTask吗?
-
什么时候接触的Android开发(移动端开发)?
-
Flutter和Android原生混编各自的侧重点是什么?
-
为什么学Android开发?
-
平时如何学习的?
-
给自己评价三个标签?
-
自己的一个优点、一个缺点。
-
水塘、蚂蚁问题。。。
-
场景题:Token在本地如何存储?加密?Token有几个?
-
学习一门技术流程是啥?
-
你觉得你的代码写的漂亮吗?不的话,你是怎么改正(解决的?)
-
你觉得一篇漂亮的代码最重要的是什么?
-
看过啥书?
-
如何抗压?
-
《看过的某本书名》印象最深的是啥?
-
反问
有赞四面 HR面(3-5)
就是一些个人方面简单的问题,不涉及项目,问完告知3天有结果。但是3天后去问,说HC紧,再等一周。
有赞五面(3-19)
一周后,问HR结果,HR问有其他面试进行的流程,答了有几家公司要去现场面试,HR:“网上谈的不能完全了解你,希望也能现场面试”。
从2-20简历投入到3月19日,整整一个月的时间,迎来了第五轮面试。
-
自我介绍
-
为什么项目中用MQTT,为什么不用HTTP
-
设计一个图片加载库
(提到了生命周期关联、网络请求管理、图片缓存、图片尺寸适配几个方面,但是具体到细节就答得乱七八糟的,太久没看了。。)
-
反问
(准备的问题都问完了,真想不到问题了)
3-24 面试失败,进入人才库
有赞总结
持续了一个月零四天的面试,前三面体验不错,面试官很专业,问题循序渐进,深入浅出。
到HR面后开始节奏不对了,HC紧张等等各种理由,推迟告知结果。
还是有很多收获吧,既然不选我,肯定是有比我更优秀的人,我还是有很多可以改进的地方。
后面想边投简历,边准备面试。大概闭关复习了半个月,中间又找了一个学长内推了腾讯。那段时间里,一直在网上找资料,看别人的面经,刷题库。虽然找资料的过程很辛苦,但是当时心里憋着一口气,动力很足。比较幸运的是,当时关注的一个公众号分享了一份大厂的面试真题,还有一套比较系统的Android系统学习资源。后面的大部分时间就是在啃这些资料。
需要的朋友只需要 点赞支持一下 后,然后【点击这里免费获取】
这些资料其实只看了一些重点,对自己多了一些自信,决定开始新一轮的战斗。没想到这么顺利就拿到了腾讯的offer。
腾讯一面,30分钟
1.自我介绍
2.编译器项目介绍,内容提问
3.HTTP和HTTPS有什么区别?HTTPS加密原理讲一下
4.虚拟内存有什么作用?
5.内存调度的算法有哪些?
6.常见排序算法有哪些?稳定性呢?
7.手写快排
8.C++ private什么意思?
最后
我一直以来都有整理练习大厂面试题的习惯,有随时跳出舒服圈的准备,也许求职者已经很满意现在的工作,薪酬,觉得习惯而且安逸。
不过如果公司突然倒闭,或者部门被裁减,还能找到这样或者更好的工作吗?
我建议各位,多刷刷面试题,知道最新的技术,每三个月可以去面试一两家公司,因为你已经有不错的工作了,所以可以带着轻松的心态去面试,同时也可以增加面试的经验。
我可以将最近整理的一线互联网公司面试真题+解析分享给大家,大概花了三个月的时间整理2246页,帮助大家学习进步。
由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!以下是部分内容截图:
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
ta-1715712080150)]
[外链图片转存中…(img-DBu0fV0v-1715712080151)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!