国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

寫(xiě)給所有Android工程師:沒(méi)有技術(shù)深度的苦惱

新聞 Android
最近有一位讀者去面試Android開(kāi)發(fā),這位讀者師出名門(mén)(BAT中的一家公司),是有十年的軟件開(kāi)發(fā)經(jīng)驗(yàn)的高級(jí)Android工程師,但卻以沒(méi)有技術(shù)深度拒絕了他。

前言

最近有一位讀者去面試Android開(kāi)發(fā),這位讀者師出名門(mén)(BAT中的一家公司),是有十年的軟件開(kāi)發(fā)經(jīng)驗(yàn)的高級(jí)Android工程師,但卻以沒(méi)有技術(shù)深度拒絕了他。

昨天早上,我在給他做模擬面試的時(shí)候也發(fā)現(xiàn)了這個(gè)問(wèn)題,因?yàn)閺暮?jiǎn)歷上看他的出身,呆過(guò)兩家知名的互聯(lián)網(wǎng)公司,面試官一定會(huì)不自覺(jué)的提升對(duì)他的期望。他雖然有豐富的項(xiàng)目經(jīng)驗(yàn),但真正交流下來(lái)又發(fā)現(xiàn)雖然在知名公司工作卻沒(méi)有掌握“核心科技”,他的優(yōu)勢(shì)一下就變成了劣勢(shì)。

隨著年齡的增長(zhǎng),你原來(lái)的優(yōu)勢(shì)都在慢慢變成你的劣勢(shì)。

寫(xiě)給資深或即將資深的Android工程師

當(dāng)我們是初級(jí)工程師的時(shí)候,最希望的就是有豐富的項(xiàng)目經(jīng)驗(yàn),好把自己蒼白干癟的簡(jiǎn)歷填的炫麗飽滿(mǎn)。然而隨著時(shí)間的積累,簡(jiǎn)歷上的項(xiàng)目是挺“飽滿(mǎn)”的了,但我們只看“外表”的行為造成了自己另一個(gè)困境:看似很資深,其實(shí)又沒(méi)有做過(guò)什么有難度的事情,工作了十年可能只是1年的工作經(jīng)驗(yàn)用了9次。

正如這位去面試的讀者,從簡(jiǎn)歷上看確實(shí)是能看到他輝煌的項(xiàng)目經(jīng)歷,在經(jīng)歷之下會(huì)發(fā)現(xiàn)簡(jiǎn)歷中沒(méi)有深入的地方。有些雖然寫(xiě)的很有技術(shù),但是確實(shí)只是在使用API的程度而已;有些解決問(wèn)題的方式很有技巧,但還不成體系。

可惜沒(méi)有多走兩步,沒(méi)有去研究和擴(kuò)展。

那么如何改變呢?

對(duì)方也在問(wèn)我這個(gè)問(wèn)題,而且很迫切,迫切到希望我今天說(shuō)明白之后他明天面試就可以變得深入。

我很無(wú)奈且直接的說(shuō)明了這個(gè)多半不可能。如果是可能的話,別人也可以很快掌握核心技術(shù)變得很深入。但長(zhǎng)期的話我認(rèn)為是可能的,比如給自己半年的時(shí)間,對(duì)以前項(xiàng)目中的某一項(xiàng)技術(shù)框架進(jìn)行學(xué)習(xí)擴(kuò)展和實(shí)踐。***能利用一下你目前所在公司的資源,比如做這個(gè)框架的項(xiàng)目組,和他們搞好關(guān)系,向他們學(xué)習(xí)、和他們討論你遇到的每一個(gè)問(wèn)題。

但是絕對(duì)沒(méi)有其他的方式,可以讓你通過(guò)看一下或者臨時(shí)準(zhǔn)備一下就提升到有深度的地步。如果你能做到,必然是已經(jīng)在某方面是個(gè)很精深的高手了,自然可以忽略我說(shuō)的話。

沒(méi)有深度的原因

我們沒(méi)有技術(shù)深度,最重要的原因有兩個(gè):***是回避問(wèn)題,第二是沒(méi)有興趣。

當(dāng)我們?cè)诠ぷ髦杏龅絾?wèn)題的時(shí)候,***選擇往往是回避它,不管是從設(shè)計(jì)上還是從技術(shù)上,或者找到其他的替代方案,如可使用別人的開(kāi)源庫(kù),使用別人造出來(lái)的輪子。這樣做無(wú)可厚非,但如果我們想有更深一步的提升或者更有技術(shù)深度的話,我們一定要把這個(gè)問(wèn)題搞明白,至少把別人是怎么能解決這個(gè)問(wèn)題的思路和方式搞明白。

第二關(guān)于興趣,很多人沒(méi)有往更深入的地方多走兩步,很重要的一點(diǎn)就是沒(méi)有興趣,一點(diǎn)都不好奇。如果我們遇到一些很有意思的解決方案、框架或者一些詭異的問(wèn)題,但我們完全不想去“招惹”它們,唯恐避之而不及,自然,我們也失去了在這些點(diǎn)上有突破與深入的機(jī)會(huì)。

如何提升自己的技術(shù)深度呢?

1. Java語(yǔ)言進(jìn)階與Android相關(guān)技術(shù)內(nèi)核

Android應(yīng)用是由Java語(yǔ)言進(jìn)行開(kāi)發(fā)的,SDK也是由Java語(yǔ)言編寫(xiě),所以我們要學(xué)習(xí)java語(yǔ)言。另外,雖說(shuō)kotlin語(yǔ)言得到了Android官方的熱推,但是kotlin也是編譯成了java語(yǔ)言再運(yùn)行的。對(duì)于Android來(lái)說(shuō),只要SDK沒(méi)有用kotlin重寫(xiě),那么Java語(yǔ)言是都需要學(xué)習(xí)的。而且Android apk的后臺(tái)服務(wù)器程序大概率是java語(yǔ)言構(gòu)建,所以學(xué)習(xí)java也是一種必然。那么Java中哪些東西是我們Android程序員需要學(xué)習(xí)的呢?由于Android程序員習(xí)慣了 C V 代碼塊,所以與Android中比較相關(guān)的稍微比較難的Java基礎(chǔ)幾乎都是一個(gè)門(mén)檻,像 泛型,多線程,反射,JVM,Java IO,注解,序列化等,都是被 CV 的對(duì)象,而程序員是不懂原理的。

2. App開(kāi)發(fā)框架知識(shí)體系(APP亦對(duì)象)

這塊知識(shí)是現(xiàn)今使用者最多的,我們稱(chēng)之為Android 2013~2016年的技術(shù),但是,即使是這樣的技術(shù),Android開(kāi)發(fā)者也往往因?yàn)榫W(wǎng)上Copy代碼習(xí)慣了而導(dǎo)致對(duì)這塊經(jīng)常“使用”的代碼熟悉而又陌生:熟悉的是幾乎天天在和它們打交道,天天在復(fù)制這些代碼;陌生的是雖然天天和這些代碼打交道,但是并沒(méi)有深入研究過(guò)這些代碼的原理,代碼深處的內(nèi)涵。所以我們需要從新的角度去分析這些知識(shí)點(diǎn),深入研究他們,要學(xué)習(xí)源碼,模仿源碼,然后再hook源碼,這樣才能說(shuō)自己懂這塊的知識(shí)。這些都是做Android開(kāi)發(fā),做高級(jí)工程師的基礎(chǔ)。

3.Android App全方位性能調(diào)優(yōu)

一個(gè)app的性能好不好我們需要從兩個(gè)層面努力。***個(gè)層面:從寫(xiě)代碼的時(shí)候就需要注意,讓自己的代碼是高性能高可用的代碼,這個(gè)過(guò)程是書(shū)寫(xiě)高性能代碼;第二個(gè)層面:對(duì)已經(jīng)成型的代碼通過(guò)工具檢查代碼的問(wèn)題,通過(guò)檢查到的問(wèn)題來(lái)指導(dǎo)我們進(jìn)行代碼的刪改,這個(gè)過(guò)程被稱(chēng)為調(diào)優(yōu)。

如何寫(xiě)出高性能的代碼呢?那就需要我們具備深厚的代碼功底,這就是代碼的基礎(chǔ),如:數(shù)據(jù)結(jié)構(gòu)達(dá)到可以根據(jù)應(yīng)用場(chǎng)景寫(xiě)出符合當(dāng)前場(chǎng)景的特殊結(jié)構(gòu),比如google針對(duì)Android平臺(tái)特征研發(fā)了sparseArray替代HashMap。另外,對(duì)常用的算法有自己獨(dú)到的見(jiàn)解,leetcode上有刷個(gè)上百道題,這樣差不多可以達(dá)到精通最常用的排序查找動(dòng)態(tài)規(guī)劃等算法的能力。再者,高效的算法以及節(jié)省內(nèi)存的數(shù)據(jù)結(jié)構(gòu)如果配合優(yōu)秀的符合應(yīng)用場(chǎng)景的設(shè)計(jì)模式,那么,這些就為高性能的代碼提供了實(shí)現(xiàn)依據(jù)。

另外一個(gè)就是對(duì)寫(xiě)好的代碼進(jìn)行調(diào)優(yōu),那么調(diào)優(yōu)的方向就是使用Profiler工具進(jìn)行測(cè)試和檢查,看哪里有性能消耗大的操作,然后分析對(duì)于代碼的問(wèn)題。調(diào)優(yōu)的方向就變成了如何對(duì)內(nèi)存調(diào)優(yōu),對(duì)耗電調(diào)優(yōu),對(duì)網(wǎng)絡(luò)流量調(diào)優(yōu),當(dāng)然,還有對(duì)啟動(dòng)速度,頁(yè)面切換效果與速度,開(kāi)機(jī)白屏體驗(yàn),閃屏方面的原因等進(jìn)行分析和調(diào)優(yōu)。***再加上一個(gè)屏幕適配相機(jī)適配。

音視頻/高清大圖片/人工智能/直播/抖音等等這年與用戶(hù)最緊密,與我們生活最相關(guān)的技術(shù)一直都在尋找最終的技術(shù)落地平臺(tái),以前是windows系統(tǒng),而現(xiàn)在則是移動(dòng)系統(tǒng)了,移動(dòng)系統(tǒng)中又是以Android占比絕大部分為前提,所以Android NDK技術(shù)已經(jīng)是我們必備技能了。要學(xué)習(xí)好NDK,其中的關(guān)于C/C++,jni,Linux基礎(chǔ)都是需要學(xué)習(xí)的,除此之外,音視頻的編解碼技術(shù),流媒體協(xié)議,ffmpeg這些都是音視頻開(kāi)發(fā)必備技能,而且OpenCV/OpenGl/ 這些又是圖像處理必備知識(shí),這些都是原理級(jí)的實(shí)戰(zhàn)項(xiàng)目。

由于篇幅原因,還有很多點(diǎn)需要大家提升的像混合開(kāi)發(fā)、小程序開(kāi)發(fā)、架構(gòu)專(zhuān)題等,在這邊就不進(jìn)行贅述了.

自己該在哪個(gè)點(diǎn)上深入呢?

我們工作了很多年之后,技術(shù)一定是需要具有一定的深度和廣度的,廣度自然不必說(shuō),你也會(huì)明白它的必要性。深度***是跟自己的興趣或者比較接近的工作模塊相關(guān),如果你在公司相關(guān)的模塊深入,你可以利用更多的資源。或者是你感興趣的模塊的話,即使沒(méi)有資源,由于你很有興趣,你也會(huì)有辦法去找到你需要用的東西的。

我們永遠(yuǎn)不缺方法。

帶領(lǐng)和被帶領(lǐng)

技術(shù)的深度是一個(gè)帶領(lǐng)和被帶領(lǐng)的關(guān)系。

關(guān)于這點(diǎn)我本身就有一個(gè)深刻的體會(huì),在我剛開(kāi)始做Android開(kāi)發(fā)的時(shí)候,我的工作是去維護(hù)Android自帶的系統(tǒng)應(yīng)用,客戶(hù)提的問(wèn)題或者進(jìn)行二次開(kāi)發(fā),我都能很好的解決。然后就會(huì)有一些空閑的時(shí)間,反正也是閑著,我就找了個(gè)系統(tǒng)應(yīng)用里面最簡(jiǎn)單的一個(gè)應(yīng)用(記事本)練練手。

我想既然這么簡(jiǎn)單,那我就自己照著寫(xiě)一個(gè)吧,就從零開(kāi)始實(shí)現(xiàn)一個(gè)記事本應(yīng)用。當(dāng)我開(kāi)始寫(xiě)時(shí),顛覆了我對(duì)安卓應(yīng)用的理解,我發(fā)現(xiàn)以前認(rèn)為懂的地方自己都沒(méi)懂,我遇到了很多毫無(wú)頭緒的問(wèn)題,就這么一個(gè)簡(jiǎn)單的應(yīng)用,我要靠不停的對(duì)照原版的代碼實(shí)現(xiàn)才能發(fā)現(xiàn)自己的問(wèn)題所在,然后才確信真正的做和看中間的差距有多大。

如果你只是在別人的基礎(chǔ)上去做事情解決問(wèn)題,哪怕你覺(jué)得自己想出了很好的點(diǎn)子,好像靈光一閃,很巧妙的解決了客戶(hù)的問(wèn)題,但其實(shí)這只是一種技巧,在怎么建造這個(gè)應(yīng)用、構(gòu)架和設(shè)計(jì)組織這種大的方向上,你并沒(méi)有多大的實(shí)質(zhì)進(jìn)步。

這個(gè)時(shí)候你只是一個(gè)跟隨者,你是被別人的源碼帶領(lǐng)著的。

即使你看過(guò)和使用過(guò)很多應(yīng)用框架,但紙上得來(lái)終覺(jué)淺,只是添加了些許紙上談兵的資本。你始終是一個(gè)被帶領(lǐng)的人,帶領(lǐng)者給你定好了框架,給你定好了一條大路,然后你在他定好的道路上耍了一下滑頭,卻生出一種假象:覺(jué)得自己很厲害,很有技巧。

而你自己寫(xiě)一個(gè)這樣的框架,或者去設(shè)計(jì)一個(gè)思路,去指定一個(gè)方向和路徑的話,你會(huì)發(fā)現(xiàn)它沒(méi)有你想象中的那么簡(jiǎn)單。

你是要做帶領(lǐng)別人的人?還是要做一個(gè)被帶領(lǐng)的人呢?

小結(jié)

沒(méi)有技術(shù)深度是大多程序員的一種常態(tài)。

并不能說(shuō)這是一種壞的或者好的現(xiàn)象,這只是一種合理的狀態(tài),因?yàn)楹芏喙ぷ鳎芏嗳藦氖碌捻?xiàng)目并不需要有多少技術(shù)深度。即使你有深度,你也可能發(fā)現(xiàn)用不上。對(duì)于大多數(shù)人,合乎理性的做法不是去追求技術(shù)深度而是夠用就可以了。

但轉(zhuǎn)到個(gè)人的話就不一樣了,在技術(shù)上你需要夠用,但是在某方面上你需要有一定的深度,以突出你自己的學(xué)習(xí)理解和運(yùn)用的能力,而且這個(gè)能力是要有成功案例來(lái)背書(shū)。

特別是當(dāng)你成為一個(gè)資深的工程師的時(shí)候,很多公司并不希望你還是那樣平庸,沒(méi)有深度。雖然你會(huì)納悶,我就算有深度你們也不一定用得上呀?然而到了這個(gè)級(jí)別的人需求量并不像初中級(jí)開(kāi)發(fā)那么多,公司更理性和穩(wěn)妥的做法是選擇有深度的人,不是嗎?

責(zé)任編輯:張燕妮 來(lái)源: 簡(jiǎn)書(shū)
相關(guān)推薦

2019-07-29 16:05:48

前端DockerNode.js

2019-12-18 10:30:24

前端開(kāi)發(fā)技術(shù)

2018-08-17 15:33:37

2009-03-20 10:24:38

網(wǎng)絡(luò)工程師數(shù)據(jù)庫(kù)計(jì)算機(jī)信息系統(tǒng)

2015-05-07 14:08:26

初學(xué)前端工程師

2020-11-19 09:00:00

技術(shù)債開(kāi)發(fā)工程

2012-09-07 10:20:53

2019-10-29 16:29:28

運(yùn)維架構(gòu)開(kāi)發(fā)

2012-03-31 16:57:52

工程師創(chuàng)業(yè)團(tuán)隊(duì)

2013-12-23 09:09:29

網(wǎng)絡(luò)工程師技術(shù)愿望2014

2013-08-19 11:31:43

2020-04-01 11:01:57

工程師技術(shù)裁員

2015-08-26 14:18:25

Web前端工程師價(jià)值

2019-06-17 08:57:13

優(yōu)秀工程師技術(shù)程序員

2009-06-05 13:02:48

2011-09-13 10:41:40

VLAN劃分VLAN交換機(jī)

2016-09-23 14:23:25

Linux

2020-11-03 16:42:46

容器Dockerfile技術(shù)

2021-07-20 09:00:00

開(kāi)發(fā)軟件債務(wù)

2020-11-25 09:27:49

Docker容器技術(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

国产va亚洲va在线va| 国产三级精品三级在线专区| 亚洲福利一二三区| 中文字幕99| 日韩成人综合| 亚洲精品国产精品自产a区红杏吧 亚洲精品国产精品乱码不99按摩 亚洲精品国产精品久久清纯直播 亚洲精品国产精品国自产在线 | 中文欧美日韩| 欧美成人免费小视频| 黄色免费在线网站| ...xxx性欧美| 免费激情视频在线观看| 看国产成人h片视频| 国产欧美欧洲| 999国产精品视频| 在线观看成人小视频| 亚洲精品一区二区毛豆| 午夜一级久久| 精品无码久久久久国产| 日韩精品网站| 92国产精品视频| 精品国产一区二区三区日日嗨| 成人网18免费看| 93久久精品日日躁夜夜躁欧美| 欧美性视频在线播放| 久久99精品久久久久久| 久久久精品视频在线观看| 最近97中文超碰在线| 激情文学综合插| 黄色一级视频在线播放| 不卡免费追剧大全电视剧网站| 国产成人jvid在线播放| 色婷婷综合网| 国产精品一码二码三码在线| 91精品导航| 日本精品中文字幕| 在线看成人短视频| 精品捆绑美女sm三区| 国产盗摄一区二区| 久久亚洲精品毛片| 99这里只有精品视频| 国产在线a不卡| 一区二区电影| 欧美国产日韩一区二区三区| 国产一区国产二区国产三区| 久久伦理网站| 久久久精品人体av艺术| 在线免费国产| 亚洲精品福利在线观看| 四虎视频在线精品免费网址| 国产成人久久精品| 久久精品三级| 91九色porny视频| 日韩一区二区在线观看视频 | 性做久久久久久| 免费a在线看| 久久久久久久久综合| 久久99伊人| 依人在线免费视频| 亚洲欧洲成视频免费观看| 日韩毛片视频| 亚洲中文字幕无码一区二区三区| 国产三级一区二区| 国产成人无吗| 亚洲一区二区免费| 国产99久久久久| fc2ppv国产精品久久| 国产精品国产三级国产专播精品人 | 9l视频自拍九色9l视频成人| 狠狠色噜噜狠狠色综合久| 中文字幕一区在线观看| 草民电影神马电影一区二区| 成人av资源网| 狠狠色狠狠色综合日日五| 丁香一区二区| 欧美 国产 日本| 欧美一卡在线观看| 日本欧美大码aⅴ在线播放| 羞羞的网站在线观看| 色噜噜狠狠狠综合曰曰曰| 狂野欧美性猛交xxxx巴西| 91午夜国产| 国产福利精品视频| 狠狠综合久久av一区二区小说| 日韩国产一区| 中文在线资源在线| 国产精品日本一区二区| 在线精品亚洲一区二区不卡| 一区二区三区在线观看免费| 视频国产在线观看| 精品日本一区二区| 日韩av一区二区在线| 韩国成人福利片在线播放| 福利在线视频网站| 深夜福利成人| 色偷偷av一区二区三区| 99久久综合狠狠综合久久| 97人人做人人爽香蕉精品| www.日本xxxx| 久久久女人电视剧免费播放下载 | 精品亚洲第一| 亚洲美女在线观看| 丁香婷婷综合色啪| 欧美jizz19性欧美| 日韩私人影院| 激情五月六月婷婷| 国产成人黄色av| 欧美精品vⅰdeose4hd| 国产成人av电影| 日韩精品dvd| av中文字幕在线观看| 国产精品少妇在线视频| 国产精品久久久久久av福利软件| 欧美综合一区二区| 国产99久久久久久免费看农村| 国产精品视频首页| 麻豆网站在线| 欧美女同在线观看| 天堂精品视频| 国产第一区电影| 亚洲天堂男人天堂| 在线观看网站黄不卡| 国产精品综合二区| 色男人天堂综合再现| 电影中文字幕一区二区| 都市激情一区| caoliu在线| 久草热视频在线观看| 国产综合视频在线观看| 美女精品久久久| 亚洲无吗一区二区三区| 成人淫片在线看| 国自产精品手机在线观看视频| 精品国产在天天线2019| 欧美日韩1区2区| 亚洲一区二区在线免费看| 337p粉嫩大胆色噜噜噜噜亚洲| 老司机免费视频一区二区| 欧美三级第一页| 欧美国产一级| 欧美调教网站| 一区二区三区日本久久久| 麻豆精品99| 九一精品国产| 国产麻豆一区二区三区| 在线免费看h| melody高清在线观看| aaa日本高清在线播放免费观看| 亚洲欧美日本免费| 3p在线观看| 国产日产一区二区三区| 在线观看的网站你懂的| 羞羞视频在线免费国产| аⅴ资源天堂资源库在线| 性欧美freesex顶级少妇| 日本视频不卡| 久久一卡二卡| 18国产精品| 久久久久久久久久久久久久| 日本免费新一区视频| 国产日韩欧美精品在线| 亚洲国产成人午夜在线一区| 亚洲美女少妇撒尿| 日韩欧美成人午夜| 欧美成人免费全部| 欧美综合在线观看| 蜜桃精品久久久久久久免费影院| 国产欧美久久久久| 中文官网资源新版中文第二页在线观看| 国产激情视频网址| 俄罗斯一级**毛片在线播放| 粉嫩精品导航导航| 好看的亚洲午夜视频在线| 成人一级片在线观看| 精品成人在线视频| 久久视频在线直播| 国产高清自拍一区| 久久婷五月综合| 中文字幕这里只有精品| 成人无号精品一区二区三区| 国产精品18久久久久久久久| 亚洲激情中文1区| 亚洲精品永久免费精品| 欧美在线观看网站| 裸体裸乳免费看| 国产乱子伦三级在线播放 | 欧美性大战久久| 亚洲性日韩精品一区二区| 91亚洲国产成人久久精品网站| 欧美一二三区| 免费高清视频日韩| 天堂网在线最新版www中文网| 亚洲一区二区三区中文字幕在线观看| 首页欧美精品中文字幕| 亚洲男人的天堂在线aⅴ视频| 亚洲精品在线观| 精品中文字幕人| 麻豆tv在线| 久久男女视频| 精品精品国产高清一毛片一天堂| 国产精品xxxx|