背景
坐标广州,五年iOS开发经验。
最近面试了一位工作12年的程序员,
这位老哥有3年java开发经验,2年H5,7年iOS开发经验,简历上写着精通Java,iOS,熟悉H5开发。没有具体的技术点。
说实话我很期待这位老哥的面试,于是让人事邀约了他。
老哥面试的气场很足,我也很尊敬他,一大波的自我介绍之后,我们进入了正题。
我问了他Runloop,他说几乎没用过Runloop,于是我给他举了个小例子,老哥给我的答案是百度可以解决。
于是我有问了他KVC,老哥还是说不清楚,于是我问了最基础的copy,weak等几个关键词,依旧说不清楚,老哥依旧那么强势霸气,他给到我的感觉就是“为啥都会做,你别问这些没用的”。
看着他简历上写着,精通安卓iOS开发,熟悉跨平台开发,js交互,我问了一句了解Flutter吗?他说不知道没听过,最后问了一句期望薪资他说25k,我不知道问什么了,于是匆匆结束了面试。
我决定改变自己,所以我开始了自己的大厂进修之路:
首先,一定要把掌握的知识体系化。
知识点其实就那么些,今天就给大伙盘一下:
一、Java类
1.Java四大基础特性就用多说了吧(抽象、封装、继承、多态)
2.重要容器(HashMap、ArrayList、Linkedlist)
3.HashSet源码分析
4.内存模型
5.垃圾回收算法(JVM)
6.Java四大引用
7.Java泛型
8.多线程和线程池
二、Android类
1.自定义View
2.事件拦截分发
3.性能优化工具
4.性能优化(Android最重要板块)
5.缓存
6.MVC、MVP、MVVM
7.sqlite相关
8.混合开发
三、网络相关
1.HTTP、HTTPS
2.TCP/UDP
3.其他一些网络概念,知道是那么回事就行了
四、Kotlin
直接看图
五、flutter
看图
总结
现在新技术层出不穷,如果每次出新的技术,我们都深入的研究的话,很容易分散精力。新的技术可能很久之后我们才会在工作中用得上,当学的新技术无法学以致用,很容易被我们遗忘,到最后真的需要使用的时候,又要从头来过(虽然上手会更快)。
我觉得身为技术人,针对新技术应该是持拥抱态度的,入了这一行你就应该知道这是一个活到老学到老的行业,所以面对新技术,不要抵触,拥抱变化就好了。
Flutter 明显是一种全新的技术,而对于这个新技术在发布之初,花一个月的时间学习它,成本确实过高。但是周末花一天时间体验一下它的开发流程,了解一下它的优缺点、能干什么或者不能干什么。这个时间,并不是我们不能接受的。
如果有时间,其实通读一遍 Flutter 的文档,是最全面的一次对 Flutter 的了解过程。但是如果我们只有 8 小时的时间,我希望能关注一些最值得关注的点。
附
(跨平台开发(Flutter)、java基础与原理,自定义view、NDK、架构设计、性能优化、完整商业项目开发等)
定义view、NDK、架构设计、性能优化、完整商业项目开发等)
[外链图片转存中…(img-Y5iuPYd8-1613960466348)]