Android免打包多渠道统计如何实现?通用流行框架大全
前言
九月裸辭從長沙跑到上海,跑了一個月的面試,本月中旬終于拿到了愛奇藝的高級工程師offer。
做Android開發(fā)整4年有余,但是這一年才是最充實的,我花一年時間努力,送給了自己一個完美的蛻變!
寒冬裁員潮給我的危機感
我普通本科畢業(yè),在長沙待了四年,其中只換過兩家公司。去年這個時候,公司業(yè)績不好要裁人。主管平時跟我關(guān)系比較好,說我本來也在被裁的考率名額中的,他幫我跟領(lǐng)導(dǎo)說了一堆好話才沒事。我請主管吃了一頓火鍋。
但是我無法像以前那么心安理得混日子了。因為我去年首付買了房。原本想著每個月穩(wěn)定稅后拿個8k的工資。挺滿足的(8k在長沙算中高水平了)
想不到我要求這么低還差點被淘汰了??
初級
初級研發(fā)工程師的定義是掌握基礎(chǔ)的Android知識,能夠獨立完成一個功能,工作年限大概在1-2年,這個層級大部分人通過看一些資料書籍再經(jīng)過項目練習(xí)很快可以達到。這個級別的人往往需要掌握如下一些技能:
- 掌握Android 四大組件知識,深入了解相關(guān)生命周期,對于Application、Fragment、Intent常見的開發(fā)知識也必須掌握。
- 掌握Android 基本布局和控件的屬性和使用,常用布局有LinearLayout、RelativeLayout、ConstraintLayout等,控件有- TextView、ImageView、RecyclerView、ScrollView等。
- 對Android的資源訪問使用有基本了解,了解Android針對不同國家、語言、屏幕、API的適配原理。
- 掌握android系統(tǒng)服務(wù)和工具類的使用,對網(wǎng)絡(luò)訪問和數(shù)據(jù)庫操作有基本認知。
- 熟練掌握研發(fā)工具,如IDE、模擬器、網(wǎng)絡(luò)代理、日志等。
中級
我對中級工程師的定義是能夠熟練完成功能研發(fā)外,還需要掌握常見開源庫的一些原理,并仿照開源庫去造輪子練習(xí)。這個階段的人大多工作3-5年,業(yè)務(wù)開發(fā)能力熟練,碰到任何一個問題都能夠得到解決,這個級別的人往往需要具備如下技能:
- 熟悉SOLID基礎(chǔ)設(shè)計原則,掌握23種設(shè)計模式。
- 對于研發(fā)語言特性java/kotlin有深入理解,如反射、動態(tài)代理、apt等。
- 對Android架構(gòu)有基礎(chǔ)了解,對apk結(jié)構(gòu)和打包原理有深入了解。
- 對于Android各個版本特性有基本了解,如MD設(shè)計、權(quán)限管理、doze模式等。
- 熟練掌握各種研發(fā)調(diào)試工具,如git、gradle、mat、layout inspector等。
- 掌握Handler\AsyncTask原理,熟悉多線程開發(fā)。
- 對繪頁面制原理有初步理解,能夠?qū)崿F(xiàn)一個復(fù)雜自定義控件。
- 能夠熟練掌握開源庫的使用,如圖片庫(Glide\Fresco)、網(wǎng)絡(luò)庫(Volley\okhttp\Retrofit)、工具(Dagger\RxJava\EventBus)等,能夠?qū)@些常用的庫進行二次封裝。
- 熟悉應(yīng)用常見的優(yōu)化方法,避免編寫內(nèi)存泄漏的代碼。
高級
對于高級,就不僅限于功能和業(yè)務(wù)開發(fā),還需要深入理解Android系統(tǒng)的運行原理,達到融會貫通,部分可夠作為Android端架構(gòu)師。這一階段的人大多工作5-8年,具備開源庫設(shè)計能力,同時對于Android系統(tǒng)的運行原理也比較了解。
- 掌握java高級特性,如JUC、線程池、NIO\BIO等;掌握jvm虛擬機知識,如內(nèi)存模型、GC原理、類加載機制、線程模型等。
- 對Android運行環(huán)境有深入理解,理解Android沙盒機制,掌握AIDL原理及Binder通信原理,了解app和activity啟動原理。
- 掌握熱修復(fù)原理,各大廠商方案的優(yōu)缺點。
- 對于Android事件分發(fā)有深入理解,重點掌握觸摸事件機制。
- 深入理解Android繪制原理,理解VSYNC和surface機制和窗口原理。
- 深入理解Android動畫原理,包括補間動畫和屬性動畫。
- 對于Android安全機制有基本認知,理解Android安全原理。
- 深入理解端上設(shè)計范式思想,如mvc\mvp\mvvm\clean-arch等。
- 理解架構(gòu)演進,有良好的分層和拆分思路,掌握模塊化、插件化、動態(tài)部署等。
- 對新技術(shù)敏感(,理解掌握下一代架構(gòu)dynamic feature等。
如果達到這一水平,恭喜你,你已經(jīng)超過70%左右的人,但是如果要再進一步,比如架構(gòu)中/開發(fā)專家,那么除了理解Android的一些核心原理外,還需要具有架構(gòu)設(shè)計能力,能夠從更高層面看待問題,理解整個系統(tǒng)的設(shè)計。
專家
作為開發(fā)專家,那么除了理解Android的一些核心原理外,還需要具有架構(gòu)設(shè)計能力,能夠從更高層面看待問題,理解整個系統(tǒng)的設(shè)計。
- 理解微服務(wù)、SOA思想,對于后端開發(fā)有一定涉獵。
- 了解前端研發(fā)工具和思想,知道vue react等研發(fā)框架。
- 深入理解跨端技術(shù),如phonegap、weex/RN flutter、小程序快應(yīng)用等。
那么除了上面的技術(shù)方面你與高級工程師差在哪里呢?
1、工作經(jīng)驗與技術(shù)積累
說到高級工程師大家的第一印象自然就是工作經(jīng)驗豐富,技術(shù)夠牛逼。
注意這里說的是工作經(jīng)驗,并不是指工作時間。有的人踏踏實實做項目,業(yè)余時間想著多學(xué)點新技術(shù),堅持讀書,認真寫博客總結(jié),多實踐,加上自己本身悟性又不差的,2、3 年的時間都可以有別人 3、5 年的工作經(jīng)驗,成長為公司的高級工程師水到渠成。而有的人混日子,做的項目得過且過,業(yè)余時間玩游戲,追劇,也許你在公司工作了 10 年看起來兢兢業(yè)業(yè),然而你對自己沒有更高的要求,安于現(xiàn)狀,不求進步,這類人即使有 10 年的工作時間,卻只能止步于此。
靠著自己持續(xù)不斷的學(xué)習(xí),以及工作經(jīng)驗的積累,一步一步,見得市面多,踩的坑也多,技術(shù)越來越牛逼也是理所應(yīng)當?shù)氖?#xff0c;而技術(shù)是一個高級工程師最基本的要求,然而我卻認為只要不是傻子,對技術(shù)有點追求的人,想達到這點不難,只是時間長短問題而已,除了技術(shù),你跟那些真正的高級工程師還有其他方面的差距!
2、責(zé)任心
高級工程師責(zé)任心一定很強,責(zé)任心是體現(xiàn)一個人的態(tài)度問題,對于一個 bug ,他們永遠都會重視,想盡一切辦法找到原因并盡快解決,而有的人對于 bug 卻是得過且過,解決 bug 的態(tài)度就是嘗試,認為從表面上解決了就 ok 了。
我們 CTO 十幾年的軟件開發(fā)經(jīng)驗,有用戶反饋 bug ,不管多忙,不管什么時間,一定停下手頭上的事情,去找到原因并解決。我在薄荷的經(jīng)歷,曾不止一次跟著他為了解決一個 bug 搞到深夜,有幾次深夜發(fā)現(xiàn)一個導(dǎo)致用戶不能付款的 bug ,我都躺床上睡覺了,被 CTO 喊起來半夜趕往公司去修復(fù)的經(jīng)歷,當時還覺得不理解,時間長了,我才意識到這種責(zé)任心是職業(yè)素養(yǎng),現(xiàn)在也深深的被感染,在任何時候、任何時間,我的手機、電腦都是不離身,出問題一定第一時間進行響應(yīng)!
對比下你們,你們的責(zé)任心夠強么?
學(xué)習(xí)路線+知識梳理
花了很長時間,就為了整理這張詳細的知識路線腦圖。當然由于時間有限、能力也都有限,畢竟嵌入式全體系實在太龐大了,包括我那做嵌入式的同學(xué),也不可能什么都懂,有些東西可能沒覆蓋到,不足之處,還希望小伙伴們一起交流補充,一起完善進步。
本文在開源項目:Android開發(fā)不會這些?如何面試拿高薪 中已收錄,里面包含不同方向的自學(xué)編程路線、面試題集合/面經(jīng)、及系列技術(shù)文章等,資源持續(xù)更新中…
(https://docs.qq.com/doc/DSkNLaERkbnFoS0ZF) 中已收錄,里面包含不同方向的自學(xué)編程路線、面試題集合/面經(jīng)、及系列技術(shù)文章等,資源持續(xù)更新中…
這次就分享到這里吧,下篇見。
總結(jié)
以上是生活随笔為你收集整理的Android免打包多渠道统计如何实现?通用流行框架大全的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 锐龙R3 4100 性能怎么样 相当于什
- 下一篇: android studio 魅族真机