写点什么

大学做客户端竟连外包面试都面不过?客户端真的会两年内消失么?(1)

用户头像
Android架构
关注
发布于: 10 小时前

然后问了下一个问题,说下你在使用 mvp 时遇到的坑?


我:………(好像没遇到什么坑…)。


面试官又看了看我,皱了皱眉,继续问道,如果前后台传输数据需要用密钥对数据加密,那加密过程应该放在哪个位置?


我:???……此时我已经不敢直视面试官。


那你说说使用 Retrofit 进行网络请求如果后台有多个 BaseUrl 的话要怎么处理吧,面试官冷冷地问到。


我:新建不同的 Retrofit 实例就行了(内心显然知道这不是正确答案)。


此时气氛已经尴尬起来,面试官也没陈述具体的解决方案,只是翻了翻我的简历。由于我的简历写的熟练使用 Kotlin,而且我机智的准备了相关的问题(Kotlin 的优点啊,之比与 Java 啊)。


但是面试官又开始了:你说下怎么解决 Kotlin data class 没有无参构造函数的问题?


我:额 啊 ,我没听清,你再说一次(给大脑一点反应时间)。


你说下怎么解决 kotlin data class 没有空参构造函数的问题,面试官提高了声调。


“没遇到过……”,我想了半天无奈说道。


那你说说 Hander 的源码吧,面试官已经有点不耐烦了。


听到这个问题,我的眼角有翔滑过,终于他吗的来了个擅长的了,我之前跟随 ide 看过 hander 的源码,并且还写过博客进行了总结,可以说是烂熟于胸了,所以,这是我扬眉吐气的机会,我必须好好说道说道。"Hander 机制是安卓中重要的消息机制……"我开始了,从 MessageQueue 到 Looper 再到 ActivityThread,甚至是 ThreadLocal,信手拣来,抽丝剥茧,就像某某博客标题写的一样–”一层一层的脱下 hander 的外衣“。此时的我犹如抽水马桶失灵一样,连绵不绝,完全失去了控制,讲着讲着自己的眼神开始飘忽起来,感觉是已经是用潜意识在控制自己的措辞一样,此时我已经感觉自己不是在讲源码了,而是在对整场面试被打压的情绪进行一种宣泄。就当我快讲到最后一个函数,也就是 hander 的 despatchMessage 方法时,我的脑海闪过一个念头,这面试官会不会觉得我就是个只会背点源码,然后遇到实际问题啥也不会解决的咸鱼?"笑容渐渐消失。与此同时, “你不必说得这么详细的”,


面试官笑着打断我,“回去等通知吧。“


很多学 Android 开发的在面试求职碰壁之后,纷纷开始怀疑自己。认为客户端两年内消失,移动开发的罗曼蒂克消亡史?


我的答案是不存在的。


很多读者反馈对这一观点的认同。移动开发并没有变凉,更没有很多人唱衰的“罗曼蒂克消亡史”那么惨烈,它只是和互联网行业一样,泡沫逐步散去,开始进入了理性的下半场。


这里我想和读者分享一下,在移动技术的下半场,我们要如何去找寻自己的技术方向,如何培养自己的差异化个人竞争力。


下面是我在某招聘网站随手找的几个近几天更新的 Android 工程师岗位招聘:




谈到技术方向,很多作者会去大谈特谈一些完全空洞的未来十年的行业趋势;也有的会一味地鼓励大家转技术方向,转大前端、转后端、转 AI;更有些人直接怂恿读者抛弃技术方向,转产品、运营,甚至离开互联网行业。在我看来,这些想法多少有些不负责任,并没有设身处地地考虑大家的实际情况。


下面阐述一下我的看法。有不同的看法,欢迎评论区交流,不喜勿喷!


1. 不要轻易离开互联网行业


很简单,多数人来工作是为了挣钱的。而相比很多传统行业而言,互联网领域的薪资依然有着绝对的领先地位,而且,天花板也相对高很多,30 岁左右,拿个阿里的 P7、P8 左右级别,或者去牛逼点的中型企业做技术管理,年薪一两百万问题不大,足够你应对个人及家庭的各种经济压力。相比之下,其他行业很难能保证这样的待遇。


另外,如果你觉得钱攒够了,还可以选择互联网创业,互联网技术的颠覆性决定了他有非常大的创新空间,而且这些年计算机技术不断发展,物联网、5G、AI、大数据等技术不断成熟并逐步落地,对于想创业的朋友有非常大的想象空间。


2. 不要轻易离开技术方向


有些读者技术做久了,遇到了瓶颈,就会考虑离开技术去做产品、运营。当然我并非否定这种选择,我本身是支持技术人去学习产品思维、用户思维。但是如果说直接抛弃技术去转产品,可能风险会很大。这意味着你要抛弃自己多年的技术积累,在一个新的方向从零做起,以后如果再想转回技术,可能已经要被淘汰了。


当然,也有成功的大佬转型成功,拼多多的黄铮就是技术出身,然后转产品,最后创业。如果你未来也打算创业,那确实可以考虑这样的一条路线。


3. 不要轻易更换技术方向


这一点就是最近几年移动开发领域一直在讨论的。有的想转大前端,觉得大前端要一统用户终端开发;有的想转后端,觉得后端有高并发高性能,感觉很有技术深度;有的想转算法、AI,觉得这是未来的趋势,一定要把握住。


这种思维就是我之前提的“散户思维”:看到哪个火就去买哪个,追涨杀跌。了解股票的朋友知道,这种往往不会有多好的结局。而我比较推崇的是“价值投资”:不要受短期波动影响,如果你看好某只股票,相信它内在的成长价值,就要长期持有,最终收益一定会高于大多数人。


不要觉得大前端、后端、算法这种就一定高大上,每个领域都是为业务服务的,他们也要写很多的业务代码,并不是天天都在忙着处理高并发、高可用之类看起来金光闪闪的问题。至于选大前端还是选原生,只不过是一种 UI 展示形式,最终做的都是业务开发,为你的简历带来不了多大的闪光点。


而移动端这支“股票”,我是看好的。换句话说,除非哪天用户都不用手机了,或者出现了比手机更牛逼的终端了,那时候才需要去担心自己的饭碗。但我觉得更有可能的是,就算到时终端迭代,手机淘汰,我认为新终端里面运行的操作系统,依然叫做 Android。


[](


)Android 进阶之路




那么,作为 Android 开


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码


发者,该怎样规划自己的学习路线,然后一步一个脚印的向中高级进阶呢?


①架构师筑基必备技能


**主要技能:**深入 Java 泛型、注解深入浅出、并发编程、数据传输与序列化、Java 虚拟机原理、反射与类加载、动态代理、高效 IO。





相关的学习文档资料:




②Android 高级 UI 与 FrameWork 源码


**主要技能:**高级 UI 晋升、Framework 内核解析、Android 组件内核、数据持久化。





相关的学习文档资料:


③360°全方面性能调优


**主要技能:**设计思想与代码质量优化、程序性能优化、开发效率优化


用户头像

Android架构

关注

还未添加个人签名 2021.10.31 加入

还未添加个人简介

评论

发布
暂无评论
大学做客户端竟连外包面试都面不过?客户端真的会两年内消失么?(1)