原創 110 篇了,是時候來篇總結了
光陰似剪,日月如梭。不知不覺,從 17 年廣工畢業到現在,已經畢業 5 年多了。
從大四開始寫博客,有原創 110 多篇, 也獲得了 CSDN 博客專家稱號和掘金優秀作者稱號。
回想這五年來的程序員生涯,談不上滿意,也談不上失落,處於中上游狀態吧。有一些事情本來可以做得更好,卻因為某種原因或者某種選擇,沒能取得更進一步的成績(改天有時間再講哈)。。。
不過過去的都過去了,遺憾或者後悔都沒用,只能面對。抓住今天,腳踏實地,一步步出發。
技術上,有一些個人的一些小心得,分享給大家
- 學編程,如果要掌握一個知識點,一定要動手去實踐,敲代碼。很多知識,你看了,貌似懂了,但是你沒動手去實踐,你永遠不可能掌握他的,尤其是初學者,切忌好高騖遠,撿了芝麻,丟了瓜。
- 善用搜索引擎,學編程,儘量用 google 搜索,少用百度。道理你懂的
- 善用搜索技巧,關鍵詞很重要。一些前沿技術,或者疑難雜症,有時候你用中文搜不到,不妨用英文提取關鍵字,説不定會有另外一種收穫
- 要學會多歸納總結,形成自己的一套學習方法。尤其是一些重點難點,要儘量搞懂他,吃透他,下次遇到類似的問題,就可以舉一反三了。面試跳槽的時候,也可以用這個來當作你的亮點。
- 程序員要多培養一些業務思維,產品思維。懂業務的程序員,更能理解,發現團隊的痛點,針對性作出一些改善措施,這樣的人往往能夠在團隊中脱穎而出,取得更好的績效。同時,在生活中,説不定也能發現額外的機會,發現自己的一片新天地。
更詳細的可以看我去年寫的這篇文章,我的 5 年 Android 學習之路,那些年一起踩過的坑
下面是我這五年來的一些技術文章,大概整理了一些,進行分類,有興趣的可以看一下。(有一些鏈接是外鏈,因為公眾號限制,可以點擊文章底部的原文,跳轉到 github 查看)
Android 基礎&必學
必知必會
java 源碼系列 - 帶你讀懂 Reference 和 ReferenceQueue
Android Fragment 的妙用 - 優雅地申請權限和處理 onActivityResult
TextView AutoLink, ClikSpan 與長按事件衝突的解決
Android 自定義 MarqueeView 實現跑馬燈 —— 原理篇
ConstraintLayout最詳細使用,減少嵌套優化ui,提升app性能
事件分發機制&嵌套滑動
ViewPager,ScrollView 嵌套ViewPager滑動衝突解決
自定義Behavior —— 仿知乎,FloatActionButton隱藏與展示
自定義 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
隱私合規
正式開源!無恆實驗室推出 appshark 自動化漏洞及隱私合規檢測工具
Idea插件學習
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 算法
算法總結
面試官:你有m個雞蛋,如何用最少的次數測出雞蛋會在哪一層碎?
小結
以上是我對 5 年來,技術文章的一些簡單整理。如果你認可我的話,可以關注我的位置公眾號徐公。