最近逛论坛看到这样一个帖子:

面试了一位工作12年的程序员,

这位老哥有3年java开发经验,2年H5,7年Android开发经验,简历上写着精通Java,Android,熟悉H5开发。没有具体的技术点。

说实话我很期待这位老哥的面试,于是让人事邀约了他。

老哥面试的气场很足,我也很尊敬他,一大波的自我介绍之后,我们进入了正题。

我问了他Jetpack,他说几乎没用过Jetpack,于是我给他举了个小例子,老哥给我的答案是百度可以解决。

于是我又问了他Groovy,老哥还是说不清楚,于是我问了最基础的Handler,Binder等几个关键词,依旧说不清楚,老哥依旧那么强势霸气,他给到我的感觉就是“啥都会做,你别问这些没用的”。

看着他简历上写着,精通安卓开发,熟悉跨平台开发,js交互,我问了一句了解Flutter吗?他说不知道没听过,最后问了一句期望薪资他说25k,我不知道问什么了,于是匆匆结束了面试。

看完这则帖子之后我思考良久,也不得其解。对于大龄程序员我们该何去何从,尤其是没有管理经验只会百度复制粘贴的程序员该如何谋生?

现在的技术环境不像以前了,以前是网上搜不出什么资料,没办法,自己得找到文档(很多是英文的),一个一个地看,一个一个地试,然后找到解决问题的方法。现在不一样了,现在是信息爆炸的时代,你遇到的问题别人早就遇到过,然后会在网上分享出来,所以不用担心找不到答案,因为你不是第一个吃螃蟹的。只要肯找,肯定能找到。

当然如果一直使用面向搜索引擎的编程思想去开发,相信很快你就会到达知识的瓶颈,再后来就是重复地堆积,体力活,也就是我们所谓的码农。

那么如何避免遇到上述的问题呢?这里给大家以下几点建议:

  • 遇到问题首先要通过自己的想法想出一套解决方案,然后实现它。想法、思路很关键,搜索引擎啥的只是实现它的其中一种工具而已。

  • 要有一些自己熟悉的技术知识网站,比如github、stackoverflow、segmentfault等等,建议可以直接在这些网站上面找答案效率会更高些。

  • 要经常总结知识,有一套自己的知识体系,学会系统性的成长。

  • 要有主动学习的能力,通过学习,我们可以慢慢塑造批判的思考能力、创造力等。这些能力都是没有人能够教的,都取决于我们自己。

下面就给大家分享一个我自己工作几年以来总结的系统性成长进阶路线,给你们做一个参考。

Android进阶学习路线

一、基础技能:

1、深入Java泛型
2、注解深入浅出
3、并发编程
4、数据传输与序列化
5、Java虚拟机原理
6、反射与类加载
7、高效IO

二、Android框架体系架构

1、高级UI晋升
2、Android组件内核
3、大型项目必备IPC
4、数据持久化
5、Framework内核解析

三、360全方面性能调优

1、设计思想与代码质量优化
2、程序性能优化
3、开化效率优化

四、设计思想解读开源框架

1、热修复设计
2、插件化框架解读
3、组件化框架设计
4、图片加载框架
5、网络访问框架设计
6、RXJava响应式编程框架设计
7、IOC架构设计
8、Android架构组件Jetpack

五、NDK模块开发

1、NDK知识体系
2、底层图片处理
3、音视频开发
4、机器学习

六、架构师炼成实战

1、架构设计
2、网上商城项目实战
3、新闻客户端项目实战
4、多格式播放器项目实战
5、Gradle自动化项目

七、微信小程序

1、UI开发
2、API操作
3、微信对接

八、Hybrid开发与Flutter

1、Html5项目实战
2、Flutter

学习有哪些途径那?

提起“学习”这个词可能给人一些不舒服的感觉,总是让人想起年轻时埋头于黑板粉尘的岁月,或参加公司组织的单调枯燥的“复印机”式的培训之类的低质量教育活动。给大家推荐几个学习的途径:

  • 组建圈子:建议组建小范围的学习圈子,会有较高的学习质量;又能够做到知识的分享与交流;

  • 读书:一年30本的读书目标,赶快去实现吧。对于读书,大家可以分为精读、通读两种类型;专业技能的图书最好精度。另外推荐大家去读国外专家大牛写的图书,因为国内的图书质量确实一般,基本上是写给初级程序员看的。

  • 以教代学:给领域之外的人讲解;学着做布道师,成为一个乐于积极分享的人;大家可能都听说过橡皮鸭的故事吧,就是描述了通过自言自语的讲解,竟然解决了困惑已久的问题。

  • 橡皮鸭的故事:你正在解决一个困难的问题,已经花费了大量的时间,最后的期限迫在眉睫。这时,你找了一位同事帮忙。他们来到你的屏幕前,你开始解释怎么回事,是什么地方出错了。还没有说多少,你的大脑中灵光一现,“啊!”地叫了起来,你找到了bug。一头雾水的同事一句话还都没有说,就摇摇头走了。

  • 找牛人聊天:我见过太多,在办公室一坐一天的TX;动起来吧,在和高手的思想碰撞中,更容易产生灵感。给大家推荐一些认识牛人的方法:大型展会,通常会有很多的牛人出现;各种微信群、InfoQ上就有很多大拿;自己通过技术创作成为牛人,自然增加了认识更多牛人的渠道。

职场提升没有你想象得那么难

为什么要说到这个话题,待在舒适区不好吗,每天做着自己擅长的事情。

因为我们程序员提升的每一步,都需要做大量前期未做过,未处理过的事情,需要我们在做事方式、思路、习惯上作出较大的改变。

但是资本家都是冷血的,如果你一直处在安逸区,当你技术不如人的时候,一脚就被踢走了,所以一定要做好准备,未雨绸缪,职场提升并不是为了公司,而是为了你自己。

最近收集到一份阿里大神整理的内部资料,包含【Android开发核心知识笔记+架构视频+2020大厂最新面试+源码笔记】。如果你是卡在缺少学习资源的瓶颈上,那么刚刚好我能帮到你。

有需要的朋友【关注并简信】我免费领取。

最后送给大家一句话:行动是老子、知识是儿子、创造是孙子。祝愿大家能找到各自的方法,实现人生的持续突破。

面试了一位33岁Android程序员,只会面向百度编程,居然要25k,脸呢?的更多相关文章

  1. 35岁Android程序员被阿里辞退,生活压力太大痛哭,中年危机如何自救?

    多数人都喜欢安逸的生活,尤其是随着年龄的增长,很多人都希望工作和生活趋于稳定,不愿意再让生活有很大的变动.可是,当达到一定的年龄时,危机还是存在的. 之前有一位阿里员工在脉脉上,晒出了自己被辞退的经历 ...

  2. 37岁Android程序员被裁员,面试大厂被拒,降薪去小公司,心更凉了

    在职场论坛看到这样一个帖子,程序员小A被前公司裁员了,裁员之后也并没有特别气馁,打算重头再来,结果却被现实打击到了. 他大学毕业的时候进入到一家知名互联网公司上班,工作期间,也是不断学习,提升自己的能 ...

  3. 37岁Android程序员裸辞,四个月被497家公司拒绝,问猎头后懵了

    一位网友在职场论坛上发了一个帖子,他说自己今年三十七岁了,是一名Android老兵,因为和上家公司的领导闹矛盾有了嫌隙,一气之下就裸辞了,如今已经辞职四个月了,也失业了四个月. 每天都在努力投简历,共 ...

  4. android程序员成长路径的思考

    我之前就想过要写这个话题,不过之前没有什么认识,我只是在阅读别人的见解,看法.昨天晚上,我阅读了这篇文章<产品经理罗永浩:用户体验探索,没有尽头>,这篇文章描述了罗永浩对锤子手机设计细节的 ...

  5. 面试利器!字节跳动2021年Android程序员面试指导小册已开源

    整份手册分为两个部分,分别是:Java部分.Android部分.数据结构与算法篇.字节跳动2020年全年面试题总结篇! 每个知识点都有左侧导航书签页,看的时候十分方便,由于内容较多,这里就截取一部分图 ...

  6. Android高薪之路-Android程序员面试宝典

    Android高薪之路-Android程序员面试宝典

  7. 工资8000以下的Android程序员注意了!接下来要准备面对残酷现实了……

    最近在知乎看到一个测试,特扎心: 以下三种情况,哪个最让你绝望? ❶ 每月工资去掉开销还存不到3千: ❷ 家人突然急病住院,医药费10万: ❸ 同班的家长都在争先恐后给孩子报名各种辅导班.兴趣班,但一 ...

  8. Android 程序员必须知道的 53 个知识点

    1. android 单实例运行方法 我们都知道 Android 平台没有任务管理器,而内部 App 维护者一个 Activity history stack 来实现窗口显示和销毁,对于常规从快捷方式 ...

  9. Android 程序员必须掌握的三种自动化测试方法

    在日常的开发中,尤其是app开发,因为不像web端那样 出错以后可以热更新,所以app开发 一般对软件质量有更高的要求(你可以想一下 一个发出去的版本如果有重大缺陷 需要强制更新新客户端是多么蛋疼的事 ...

随机推荐

  1. Kubernetes网络的iptables模式和ipvs模式支持ping分析

    1.iptables模式无法ping通原因分析 iptables模式下,无法ping通任何svc,包括clusterip.所有ns下,下面来分析原因: 查看kubernetes的网络模式 curl 1 ...

  2. SpringBoot缓存管理(一) 默认缓存管理

    前言 Spring框架支持透明地向应用程序添加缓存对缓存进行管理,其管理缓存的核心是将缓存应用于操作数据的方法(包括增删查改等),从而减少操作数据的执行次数(主要是查询,直接从缓存中读取数据),同时不 ...

  3. 校门外的树 (Vijos P1448)

    题目链接 描述 校门外有很多树,有苹果树,香蕉树,有会扔石头的,有可以吃掉补充体力的-- 如今学校决定在某个时刻在某一段种上一种树,保证任一时刻不会出现两段相同种类的树,现有两个操作: K=1,K=1 ...

  4. 升级Ubuntu 16.04 到 Ubuntu 18.04 的方法

    特别注意,在进行升级前,请做好重要数据备份工作,防止升级失败或者其他奇怪原因,导致数据丢失或损坏 sudo vim /etc/apt/sources.list 将 http://archive.ubu ...

  5. MyBatis-HotSwap, MyBatis热部署

    https://github.com/xiaochenxinqing/MyBatis-HotSwap   1 https://github.com/xiaochenxinqing/MyBatis-Ho ...

  6. 22 shell组命令与子进程

    1.组命令 2.子进程 2.1 什么是子进程 2.2 创建子进程 2.3 子进程总结 3.如何检测子shell与子进程 1.组命令 组命令,就是将多个命令划分为一组,或者看成一个整体. 用法 区别 S ...

  7. SoapUI Pro 最新版本和最新功能

    专为整个后端的端到端测试而构建 创建全面的端到端测试,以从API定义或实时端点验证API的整个工作流程.只需单击几下即可传递响应数据并添加断言-无需编码. 综合生成或配置数据 通过简单的数据驱动测试来 ...

  8. Java学习笔记之—Java基础

    将学习到的JAVA基础用xmind记录了下来,需要原件的可以私信

  9. git常用命令自己梳理总结

    一.新建代码库 # git-init - 创建一个空的 Git 存储库或重新初始化一个现有的存储库 $ git init # 在本地新建一个repo,进入一个项目目录,执行git init,会初始化一 ...

  10. 使用crt连接linux慢

    1.主要原因是linux中启用了 修改sshd的配置文件把其中dns解析设置为no即可,操作如下: [root@dong ~]# vi /etc/ssh/sshd_config 查找: #UseDNS ...