前言
一个Android开发的朋友跟我谈他面试经历,上周去爱奇艺面试,其他问题都答得不错,面试官问了一个哈夫曼算法的题没答出来,后来面试官很明确的说,我们还是想找一个会些算法基础的。
如果之前有学过数据结构和算法,建议大家不定时的去刷刷算法题
因为从面试的角度来讲,目前 BAT 和 TMD 等一线互联网企业或多或少都会有几个算法题,而对应届毕业生来说,算法的要求度则更高!这里可以分享一下我收集整理的数据结构算法题含答案。
不要轻易转行
转行有两种我认为是正常的,一种是行业消失或者没落了,个人无法施展才华。另一种是兴趣不在本行,因此转一个自己感兴趣的。而现在大部分转行纯属是为了跟风,为了那点钱,而忽略了长期的发展。
转行相当于倒退回到原点,重新出发,形象点来说,就是换了个不同的砖头接着搬砖而已(高技术含量的除外)。因此我们更应该去追求质变,而不是平行或者倒退,一次倒退可以承受,多次倒退就很难在35岁后进入上升期。
而且这个行业既没有消失也没有没落,只要目前存在的都有它存在的前景。一个行业不是一朝一夕就会垮掉的,Android全球第一的终端占有量,Android生态也不会轻易让Android倒下。至少在我们这代人的有生之年是看不到Android消亡的。
如何提高竞争力
1.选择一个细分领域
Android现在细分的领域非常多,前面说到的有应用开发、逆向安全、音视频、车联网、物联网、手机开发、SDK开发和智能电视盒子开发等等,在这些领域中选择一个并不断深入。
2.做减法,尽量专精一门技术
现在的社会,技术分工越来越细,越细就意味着大部分企业(小作坊除外)需要专精的人才(最好是精通一门通多门)。你会发现身边脱颖而出的技术人大多都是靠一门技术,却很少看到会一堆技术却都不精通的冒出来。好比在武侠的世界,高手对决都在同一个时间段拿出看家武学,如果看家武学都不精,分分钟被虐,省下的武学也无需拿出来献丑了。联想到现实版本就是去大公司面试Android,结果Android技术了解不深,被各种虐,剩下的前端技术、后端技术、python什么的,面试官也没兴趣了解了。
所以并不是你会的技术越多越好,一定要做好减法,先专精一门,然后再去学别的技术。
3.说说最近Android火热的技术
Kotlin,是Google推荐的官方开发语言,与Java互通,可相互转换,简洁安全等,是一种在 Java 虚拟机上运行的静态类型编程语言,被称之为 Android 世界的Swift,由JetBrains 设计开发并开源。Kotlin 可以编译成Java字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。
Flutter,Flutter是Google在2018年2月27日,在2018世界移动大会上发布的用以帮助开发者在ios和Android两个平台开发高质量原生应用的全新移动UI框架。由于是是Google发布的,就前景来看,还是值得肯定的。
这两个技术都建议大家来学习,但不要指望它们会给你增加什么太大竞争力,李四1周能学会,张三同样也能。
学习路线+知识梳理
花了很长时间,就为了整理这张详细的知识路线脑图。当然由于时间有限、能力也都有限,毕竟嵌入式全体系实在太庞大了,包括我那做嵌入式的同学,也不可能什么都懂,有些东西可能没覆盖到,不足之处,还希望小伙伴们一起交流补充,一起完善进步。
本文在开源项目:Android开发不会这些?如何面试拿高薪 中已收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…
收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…
这次就分享到这里吧,下篇见。