
坐标北京21年3月毕业工作北京某大型互联网码农集散基地渣硕背景。第一份工作在北京的一个80人左右规模的小公司做Android最近刚刚跳槽成功。做Android是从19年中旬开始毕业前的第一份工作和第二份工作都在规模不超过20人的小团队练级毕业前本来有计划留杭州也拿到不少心仪Offer但是为了希望在北京工作的妹纸毅然来了北京毅然的啥也没想的进了这家80人左右的小公司原因按下不表反正现在肠子都悔青了。前段时间开始准备跳槽拉钩海投前前后后不下投了二三十家的高级Android岗给我最大的感受就是现在卡年限真的很严——公司不会关心你开始以全职方式做Android是从什么时候开始而是简单粗暴地计算你毕业到现在工作了多久。所以很遗憾的虽然我从19年中旬开始就利用读研期间实验室管理松散的优点到处实习累积经验最后一份工作也是从20年9月到现在差不多一年半的时间但是人家HR就认你毕业到现在只工作了一年那你就是个一年经验的中低级Android这样的结果就是基本上所有非内推的大厂投出去的简历都挂了几乎所有内推的高级岗也都挂了。很难受但是这就是事实——找工作的人太多拿年限卡人就是第一道关口连第一道口都过不去你拿什么去换工作不过好在还有些小公司不那么care年限的事在我拿到的仅有的一些数百人、千人规模的中小厂的面试机会上面除了字节因为需要的技术栈不匹配导致面试失败之外其余只要面试过的都拿到了offertitle / 薪资涨幅也符合我的预期——这或多或少也算给我增加了一些信心至少在「纯技术」方面感觉只要给我个面试机会怎么着都可以跟你好好说道说道也算是各种不顺里面的一些开心的地方吧叹气。不过最后找到真正满意的工作还是靠的内推……其中的过程曲折就不细讲了只能说认识一些靠谱的喷油是多么的重要就是了比心。所以如果你准备跳槽好好联系一下你的在别的团队的小伙伴如果你们关系够铁那请不要犹豫了直接上内推流程更简单不说拿了offer你的老铁还能有奖金爽的一批。这期间因为离职也负责前公司的Android招聘。前公司虽然规模不大但拉钩上JD一挂也是每天近百封简历的规模可能是Android的失业人口太多了吧供需严重不平衡……但是简历虽多质量却非常堪忧……少有的被HR筛选出来的简历能够成功约上面试的要么是「之前干外包什么都会一点但是原理都不太了解」要么是「我之前在大团队做事只会做业务原理啥的不太了解」要么就是「我精通XXX技术了解XXX原理干过前后端当过CTO」结果约来面试连ListView的回收机制都聊不上来总之质量上是非常闹心。我这么说的意思是可能市面上Android程序员确实非常多自己自学转的、大厂业务团队出来的、应届毕业的等等等等但是质量真的普遍不高真正优秀的Android程序员对于中小型团队其实还是很稀缺的。真正优秀的Android程序员是什么样的呢在我看来至少得满足以下条件才能够算得上「优秀」对于Android的基础知识足够牢靠对于Android相关的知识面足够广对于Android相关底层设计、概念至少有过了解对于「软件设计」有自己的想法和方法论对于「编程」具有良好的习惯易于交往不是团队气氛破坏者看上去似乎没那么难似乎JD里面都会这么写不是吗但是你又做到了多少呢每个人都可以这么问问自己。所以如果是因为年限问题大公司去不了其实可以换个思路一些小而美的团队其实可以是个思路。但是即便是小团队给你面试机会你能不能过那也得看你平时的积累以及面试前的准备。以上列举的一些条件真的是必要条件如果这些标准都达不到那我觉得还是尽量别着急跳槽好好在原来的公司呆着好好修炼一下自己再说吧。总结一下在2022年Android程序员市场进一步饱和如果你只是个「会写点业务」的程序员请继续留在你的上家公司好好修炼别裸辞了如果你觉得你能力足够胜任但受限于年限不够可以考虑中小型团队以及内推如果你觉得你足够优秀并且年限也足够那就直接奔着最好的那几家公司去吧坑位足够。最后分享一份我在GitHub上看到的已经标星6.8K的大厂面试题希望能帮到在这条路上一路走到黑的朋友这份资料包含了Java和Android两大部分由于篇幅原因这里只展示部分知识点有需要的朋友直接滑到文末免费领取。【保证100%免费】第一章 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代替HashMapPathClassLoader和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中集合遍历有哪几种方式…我个人觉得面试也像是一场全新的征程失败和胜利都是平常之事。所以劝各位不要因为面试失败而灰心、 丧失斗志。也不要因为面试通过而沾沾自喜等待你的将是更美好的未来继续加油朋友们如果需要这份完整版的资料合集点击文末CSDN官方认证微信卡片免费领取保证100%免费