光阴似剪,日月如梭。不知不觉,从 17 年广工毕业到现在,已经毕业 5 年多了。
从大四开始写博客,有原创 110 多篇, 也获得了 CSDN 博客专家称号和掘金优秀作者称号。
回想这五年来的程序员生涯,谈不上满意,也谈不上失落,处于中上游状态吧。有一些事情本来可以做得更好,却因为某种原因或者某种选择,没能取得更进一步的成绩(改天有时间再讲哈)。。。
不过过去的都过去了,遗憾或者后悔都没用,只能面对。抓住今天,脚踏实地,一步步出发。
技术上,有一些个人的一些小心得,分享给大家
1. 学编程,如果要掌握一个知识点,一定要动手去实践,敲代码。很多知识,你看了,貌似懂了,但是你没动手去实践,你永远不可能掌握他的,尤其是初学者,切忌好高骛远,捡了芝麻,丢了瓜。
2. 善用搜索引擎,学编程,尽量用 google 搜索,少用百度。道理你懂的
3. 善用搜索技巧,关键词很重要。一些前沿技术,或者疑难杂症,有时候你用中文搜不到,不妨用英文提取关键字,说不定会有另外一种收获
4. 要学会多归纳总结,形成自己的一套学习方法。尤其是一些重点难点,要尽量搞懂他,吃透他,下次遇到类似的问题,就可以举一反三了。面试跳槽的时候,也可以用这个来当作你的亮点。
5.程序员要多培养一些业务思维,产品思维。懂业务的程序员,更能理解,发现团队的痛点,针对性作出一些改善措施,这样的人往往能够在团队中脱颖而出,取得更好的绩效。同时,在生活中,说不定也能发现额外的机会,发现自己的一片新天地。
更详细的可以看我去年写的这篇文章,我的 5 年 Android 学习之路,那些年一起踩过的坑
下面是我这五年来的一些技术文章,大概整理了一些,进行分类,有兴趣的可以看一下。(有一些链接是外链,因为公众号限制,可以点击文章底部的原文,跳转到 github 查看)
Android 基础&必学
必知必会
java 源码系列 - 带你读懂 Reference 和 ReferenceQueue
Android Fragment 的妙用 - 优雅地申请权限和处理 onActivityResult
TextView AutoLink, ClikSpan 与长按事件冲突的解决
Android 自定义 MarqueeView 实现跑马灯 —— 原理篇
ConstraintLayout最详细使用,减少嵌套优化ui,提升app性能
事件分发机制&嵌套滑动
图解 Android 事件分发机制
ViewPager,ScrollView 嵌套ViewPager滑动冲突解决
使用CoordinatorLayout打造各种炫酷的效果
自定义Behavior —— 仿知乎,FloatActionButton隐藏与展示
NestedScrolling 机制深入解析
一步步带你读懂 CoordinatorLayout 源码
自定义 Behavior -仿新浪微博发现页的实现
自定义 behavior - 完美仿 QQ 浏览器首页,美团商家详情页
【使用篇】WebView 实现嵌套滑动,丝滑般实现吸顶效果,完美兼容 X5 webview
【原理篇】WebView 实现嵌套滑动,丝滑般实现吸顶效果,完美兼容 X5 webview
巨丝滑 —— 自己动手撸一个Android图片编辑器(支持长图)
自定义 View
『Android自定义View实战』实现一个小清新的弹出式圆环菜单
读源码长知识 | 更好的 RecyclerView 表项点击监听器
Android 弹幕的两种实现及性能对比 | 自定义 LayoutManager
Android 玩转PathMeasure之自定义支付结果动画
Android 自定义View之双层波纹气泡(xFermode)
Android 进阶
启动优化
Android 启动优化(七) - JetPack App Startup 使用及源码浅析
Android 启动优化(五)- AnchorTask 1.0.0 版本正式发布了
Android 启动优化(四)- AnchorTask 是怎么实现的
Android 启动优化(三)- AnchorTask 开源了
Android 启动优化(二) - 拓扑排序的原理以及解题思路
源码分析
Rxjava 2.x 源码系列 - 变换操作符 Map(上)
java 源码系列 - 带你读懂 Reference 和 ReferenceQueue
隐私合规
Android隐私合规检测(借助 Xposed)
正式开源!无恒实验室推出 appshark 自动化漏洞及隐私合规检测工具
Idea插件学习
Android Studio IDE 插件开发
IntelliJ IDEA/Android Studio插件开发指南
效率提升百分之四十,AS模板也太好用了吧
Android Studio Template(模板)开发
系统性解决IntelliJ IDEA插件开发环境问题
快看漫画提效工具之Android Studio插件
开发AndroidStudio图片压缩插件TinyPngPlus
性能监控&优化
Android 彻底消灭 OOM 的实战经验分享(千分之1.5 -> 万分之0.2)
疑难杂症
okhttp文件上传失败,居然是Android Studio背锅?太难了~
耗时一周,我解决了微信 Matrix 增量编译的 Bug,已提 PR
什么?Android 编译线程爆了, gradle 内存 OOM 解决之路
个人总结
个人总结
徐公随笔
面试必备
网络和基础
面试官系列 - https 真的安全吗,可以抓包吗,如何防止抓包吗
Android 面试必备 - http 与 https 协议
Android 面试必备 - 计算机网络基本知识(TCP,UDP,Http,https)
Android 面试必备 - 系统、App、Activity 启动过程
面经
常见的链表翻转,字节跳动加了个条件,面试者高呼「我太难了」| 图解算法
设计模式
算法
刚开始准备刷算法题目的时候,感觉真的是好难,十道题目有九道是不会的。心中曾一万只草泥马跑过,自己怎么这么辣鸡。
慢慢得,我发现算法也是一个可以通过练习慢慢成长的。
首先我们要掌握基本的数据结构,数组,链表,哈希表, Set,二叉树,堆,栈等。你要知道他们有什么优缺点,适应场景是什么,时间复杂度和空间复杂度是多少。而不能知道简单的 API。
接着,掌握了这些基本的数据结构之后,一些基本的算法你也要掌握以下,比如快速排序,归并排序,对排序,二分查找。这些基本的一定要掌握,面试当中经常也会问到。
分类刷题,我们在力扣上面可以看到,https://leetcode-cn.com/problemset/algorithms/ ,刷题是可以按标签来的。比如链表,数组,二分查找,二叉树,动态规划等
学好算法不是一日之功,需要长期的积累。建议的做法是每天做一两道题,题目不在多,贵在于理解。坚持一两个月,你会发现你的感觉逐渐好起来了
最后,让我们一起加油,一起进大厂,拿期权,高薪。
leetcode 算法
leetcode
arraylist-leetcode-list.md
arraylist.md
算法总结】30道题搞定大厂算法面试-二叉树
算法总结
面试官:你有m个鸡蛋,如何用最少的次数测出鸡蛋会在哪一层碎?
小结
以上是我对 5 年来,技术文章的一些简单整理。如果你认可我的话,可以加入我的知识星球,是付费的哦,原价 365 元/ 每年,一天一元,为了回馈公众号老粉丝,前 50 名加入者,打六折,相当于 220 元。
加入这个星球,我会提供以下服务。
Android 初级学习路线,主要针对初学者和初级工程师
Android 进阶路线,适合技术想进阶的工程师,我不会一次性分享太多,会已每周一更的形式分享出来,这样学起来更加有动力,也能够与时俱进
简历,还有面试指导,帮助大家拿到心仪的 offer。简历合适的话,我也可以帮大家内推,在各个大厂,基本都有一些认识的朋友。
职场经历的分享,对于职场新人,或者大学生,我相信我的经验还是可以帮助到挺多人的,让大家少走一点弯路,走在同年人的前面,建立自己的核心竞争力。
徐公的星球适合谁
如果你是职场新人,你想技术有所提升,少走一点坑,那么我的经历和技术能力,相信是可以帮助到你的。
如果你希望持续提升自己,获得更高的薪资或是想加入大厂,那么徐公的知识星球会对你有很大的帮助。
如果你既努力,又焦虑,希望改变自己的生活状态,,欢迎可以加入徐公的知识星球,因为我经历过同样的阶段,而且最后找到了走出焦虑,靠近梦想的方法。和我一起每日迭代,持续精进。
不适合加入星球的人
想走捷径,一夜走向人生巅峰的人,请不要加入
想短时间内,就想实现能力爆发式增长的人,请不要加入
想问能不能保证学了马上能升职加薪的人,请不要加入