渣硕Android开发找工作都这么难了吗?千万不要轻易离职......

坐标北京,21年3月毕业工作,北京某大型互联网码农集散基地渣硕背景。

第一份工作在北京的一个80人左右规模的小公司做Android,最近刚刚跳槽成功。

做Android是从19年中旬开始,毕业前的第一份工作和第二份工作都在规模不超过20人的小团队练级,毕业前本来有计划留杭州,也拿到不少心仪Offer,但是为了希望在北京工作的妹纸毅然来了北京,毅然的啥也没想的进了这家80人左右的小公司,原因按下不表,反正现在肠子都悔青了。

前段时间开始准备跳槽,拉钩海投,前前后后不下投了二三十家的高级Android岗,给我最大的感受就是,现在卡年限真的很严——公司不会关心你开始以全职方式做Android是从什么时候开始,而是简单粗暴地计算你毕业到现在工作了多久。

所以很遗憾的虽然我从19年中旬开始就利用读研期间实验室管理松散的优点到处实习累积经验,最后一份工作也是从20年9月到现在差不多一年半的时间,但是人家HR就认你毕业到现在,只工作了一年,那你就是个一年经验的中低级Android,这样的结果就是基本上所有非内推的大厂投出去的简历都挂了,几乎所有内推的高级岗也都挂了。

很难受,但是这就是事实——找工作的人太多,拿年限卡人就是第一道关口,连第一道口都过不去,你拿什么去换工作?

不过好在还有些小公司不那么care年限的事,在我拿到的仅有的一些数百人、千人规模的中小厂的面试机会上面,除了字节因为需要的技术栈不匹配导致面试失败之外,其余只要面试过的都拿到了offer,title / 薪资涨幅也符合我的预期——这或多或少也算给我增加了一些信心,至少在「纯技术」方面,感觉只要给我个面试机会,怎么着都可以跟你好好说道说道,也算是各种不顺里面的一些开心的地方吧,叹气。

不过,最后找到真正满意的工作还是靠的内推……其中的过程曲折就不细讲了,只能说,认识一些靠谱的喷油是多么的重要就是了,比心。所以,如果你准备跳槽,好好联系一下你的在别的团队的小伙伴,如果你们关系够铁,那请不要犹豫了,直接上内推,流程更简单不说,拿了offer你的老铁还能有奖金,爽的一批。

这期间因为离职,也负责前公司的Android招聘。前公司虽然规模不大,但拉钩上JD一挂,也是每天近百封简历的规模,可能是Android的失业人口太多了吧,供需严重不平衡……但是简历虽多,质量却非常堪忧……少有的被HR筛选出来的简历,能够成功约上面试的,要么是「之前干外包,什么都会一点,但是原理都不太了解」,要么是「我之前在大团队做事,只会做业务,原理啥的不太了解」,要么就是「我精通XXX技术,了解XXX原理,干过前后端,当过CTO」结果约来面试连ListView的回收机制都聊不上来,总之质量上是非常闹心。

我这么说的意思是,可能市面上Android程序员确实非常多,自己自学转的、大厂业务团队出来的、应届毕业的等等等等,但是,质量真的普遍不高,真正优秀的Android程序员,对于中小型团队其实还是很稀缺的。

真正优秀的Android程序员是什么样的呢?在我看来,至少得满足以下条件,才能够算得上「优秀」:

  • 对于Android的基础知识足够牢靠

  • 对于Android相关的知识面足够广

  • 对于Android相关底层设计、概念至少有过了解

  • 对于「软件设计」有自己的想法和方法论

  • 对于「编程」具有良好的习惯

  • 易于交往,不是团队气氛破坏者

看上去似乎没那么难?似乎JD里面都会这么写不是吗?但是你又做到了多少呢?每个人都可以这么问问自己。

所以,如果是因为年限问题大公司去不了,其实可以换个思路,一些小而美的团队其实可以是个思路。但是即便是小团队,给你面试机会,你能不能过,那也得看你平时的积累以及面试前的准备。

以上列举的一些条件真的是必要条件,如果这些标准都达不到,那我觉得还是尽量别着急跳槽,好好在原来的公司呆着好好修炼一下自己再说吧。

总结一下

在2023年,Android程序员市场进一步饱和,如果你只是个「会写点业务」的程序员,请继续留在你的上家公司好好修炼,别裸辞了;如果你觉得你能力足够胜任但受限于年限不够,可以考虑中小型团队以及内推;如果你觉得你足够优秀并且年限也足够,那就直接奔着最好的那几家公司去吧,坑位足够。

第一章 Java 方面

  • 第一节 Java 基础部分
  • 第二节 Java 集合
  • 第三节 Java 多线程
  • 第四节 Java 虚拟机

第二章 Android 方面

第一节 Android 四大组件相关
  • Activity 与 Fragment 之间常见的几种通信方式?
  • LaunchMode 的应用场景?
  • BroadcastReceiver 与LocalBroadcastReceiver 有什么区别?
  • 对于 Context,你了解多少?
  • IntentFilter是什么?有哪些使用场景?
  • 谈一谈startService和bindService的区别,生命周期以及使用场景?
  • Service如何进行保活?
  • ......
第二节 Android 异步任务和消息机制
  • HandlerThread 的使用场景和用法?
  • IntentService 的应用场景和使用姿势?
  • AsyncTask的优点和缺点?
  • 谈谈你对 Activity.runOnUiThread 的理解?
  • 子线程能否更新UI?为什么?
  • ......
第三节 Android UI 绘制相关
  • Android 补间动画和属性动画的区别?
  • Window和DecorView是什么?DecorView又是如何和Window建立联系的?
  • 简述一下 Android 中 UI 的刷新机制?
  • LinearLayout, FrameLayout,RelativeLayout 哪个效率高, 为什么?
  • 谈谈Android的事件分发机制?
  • 谈谈自定义View的流程?
  • 针对RecyclerView你做了哪些优化?
  • 谈谈如何优化ListView?
  • ......
第四节 Android 性能调优相关
  • 谈谈你对Android性能优化方面的了解?
  • 一般什么情况下会导致内存泄漏问题?
  • 自定义 Handler 时如何有效地避免内存泄漏问题?
  • 哪些情况下会导致oom问题?
  • ANR 出现的场景以及解决方案?
  • 谈谈Android中内存优化的方式?
  • 谈谈布局优化的技巧?
  • Android 中的图片优化方案?
  • ......
第五节 Android 中的 IPC
  • 请简要谈谈Android系统的架构组成?
  • SharedPreferences 是线程安全的吗?它的 commit 和 apply 方法有什么区别?
  • Serializable和Parcelable的区别?
  • 请简述一下 Android 7.0 的新特性?
  • 谈谈ArrayMap和HashMap的区别?
  • 简要说说 LruCache 的原理?
  • 为什么推荐用SparseArray代替HashMap?
  • ......
第六节 Android 系统 SDK 相关
  • 请简要谈谈Android系统的架构组成?
  • SharedPreferences 是线程安全的吗?它的 commit 和 apply 方法有什么区别?
  • Serializable和Parcelable的区别?
  • 请简述一下 Android 7.0 的新特性?
  • 谈谈ArrayMap和HashMap的区别?
  • 简要说说 LruCache 的原理?
  • 为什么推荐用SparseArray代替HashMap?
  • PathClassLoader和DexClassLoader有何区别?
  • ......
第七节 第三方框架分析
  • 谈一谈LeakCanray的工作原理?
  • 谈一谈EventBus的原理?
  • 谈谈网络请求中的拦截器(Interceptor)?
  • 谈一谈Glide的缓存机制?
  • ViewModel的出现是为了解决什么问题?并简要说说它的内部原理?
  • 请说说依赖注入框架ButterKnife的实现原理?
  • 谈一谈RxJava背压原理?
  • ......
第八节 综合技术
  • 请谈谈你对 MVC 和 MVP 的理解?
  • 分别介绍下你所知道Android的几种存储方式?
  • 简述下热修复的原理?
  • 谈谈如何适配更多机型的?
  • 请谈谈你是如何进行多渠道打包的?
  • ......
第九节 数据结构方面
  • 什么是冒泡排序?如何优化?
  • 请用 Java 实现一个简单的单链表?
  • 如何反转一个单链表?
  • 谈谈你对时间复杂度和空间复杂度的理解?
  • 谈一谈如何判断一个链表成环?
  • ......
第十节 设计模式
  • 请简要谈一谈单例模式?
  • 对于面向对象的六大基本原则了解多少?
  • 请列出几种常见的工厂模式并说明它们的用法?
  • 说说项目中用到的设计模式和使用场景?
  • 什么是代理模式?如何使用?Android源码中的代理模式?
  • 谈一谈单例模式,建造者模式,工厂模式的使用场景?如何合理选择?
  • ......
第十一节 计算机网络方面
  • 请简述 Http 与 Https 的区别?
  • 说一说https,udp,socket区别?
  • 请简述一次http网络请求的过程?
  • 谈一谈TCP/IP三次握手,四次挥手?
  • 为什么说Http是可靠的数据传输协议?
  • ......
第十二节 Kotlin方面
  • 请谈谈Kotlin中的Coroutines,它与线程有什么区别?有哪些优点?
  • Kotlin中该如何安全地处理可空类型?
  • 说说Kotlin中的Any与Java中的Object有何异同?
  • Kotlin中的数据类型有隐式转换吗?为什么?
  • Kotlin中集合遍历有哪几种方式?
  • ......

我个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事。所以,劝各位不要因为面试失败而灰心、 丧失斗志。也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,588评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,456评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,146评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,387评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,481评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,510评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,522评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,296评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,745评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,039评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,202评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,901评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,538评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,165评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,415评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,081评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,085评论 2 352

推荐阅读更多精彩内容