回覆列表
  • 1 # 千鋒頭號粉絲

    ArrayList

    1)只能裝入引用對象(基本類型要轉換為封裝類);

    2)線程不安全;

    3)底層由數組實現(順序表),因為由順序表實現,所以會具備順序表的特點,如:需要聲明長度、超出長度時需要進行擴容、不適合頻繁的移動刪除元素、檢索元素快;

    4)capacity默認為10,超出時,capacity自動增長0.5倍(oldCapacity >> 1)。

    Vector:

    1)只能裝入引用對象(基本類型要轉換為封裝類);

    2)Vector通過synchronized方法保證線程安全;

    3)底層也由數組實現;

    4)capacity默認為10(在構造方法中),超出時增長capacityIncrement的量,capacityIncrement小於等於0時,則增長1倍((capacityIncrement > 0) ? capacityIncrement : oldCapacity)。

    LinkedList

    1)只能裝入引用對象(基本類型會轉換為封裝類);

    2)線程不安全;

    3)底層實現為鏈表,具備鏈表的特點,如:不用聲明長度、檢索性能較差,但是插入移動刪除較快。

    4)鏈表通過Node對象實現。

  • 2 # kane0409

    很負責任的告訴你,不是小學生和大學生的區別,因為小學生和大學生本身就是不同級別的兩個群體,不可能有這樣懸殊的比較,如果真是這樣,那麼本身就沒有比較的意義,任何事情如果想一分高下,那麼首先要是同級別或者同類之間的比較,這樣才符合邏輯。

    那麼阿里巴巴的程序員和普通公司的程序員之間,其實就如同普通本科和985甚至清華北大這樣的大學之間的比較,但是要注意,不是說普通本科和清華北大之間的差距只在於知識,好學校肯定有好老師,但學的知識其實都差不多,最重要的一點是環境,是氛圍,好大學的環境和知識之外的東西,是普通學校裡所沒有的,而這種環境,是會在一個人接下來的生活中,影響其一生的。

    我們都知道一個孩子的出生到長大有出息,除了父母所提供的物質環境外,更重要的是內在的人文環境,即便這個孩子長大後很能掙錢,但如果內心不健康,那麼也會成為危害社會的人才。所以,影響內在的環境才是重點。

    那麼像阿里巴巴這樣的大廠,水平高的程序員自然很多,但水平一般的程序員也絕對是大部隊,不能說有了軍師諸葛亮後,蜀國就都是大將,打仗的還得靠普通大頭兵。

    但是,這些大頭兵和普通士兵不同點在於,他們知道行軍打仗的規則,大廠的員工知道編程開發過程中的規範。舉個例子,同樣一個需求,普通員工能按照需求實現功能,運行起來就完事了,就覺得自己可以交差了,但是大廠的員工,在接到需求時,就已經開始構思在實現過程中如何做到最優,條條大路通羅馬,但哪條路最安全,哪條是捷徑,這是他要考慮的,而且在實現功能的代碼開發後,他不會交差,他要審核自己代碼是否符合公司的規定規範,然後反復的進行測試用例測試,做到萬無一失,最後可能才會提交代碼,而且後期還會對以前寫過的代碼進行review,看看能否有優化的空間,看到沒,這就是一個大廠程序員的特點。

    可能一開始普通程序員和大廠程序員之間不存在任何水平差距,但是通過大廠在編程和工作習慣上的嚴格要求,大廠程序員肯定會成長,一個程序員的好壞不僅僅是看他入職時的技術能力,更多的是看這個同學是否有培養的可能,是否有自主學習的能力,是否能考學習提昇自身的能力,這才是重點。我們從小學上到大學,其實那些知識是次要的,重要的不是學習本身,而是學習的能力,千萬不要讓學校影響了自己的學習。

    所以,如果你有機會進大廠,我覺得還是去的好,不是學他們的技術,而是學他們對開發上的規範,以及人員部門之間的管理,這個是重點,當養成一個良好的開發習慣後,技術真的不叫問題,能通過官網學到的東西不是重點,重點是身入環境才能體會到的東西。

  • 3 # 壹千零叄夜

    人與人的智商差距,其實沒你想象中那麼大。

    技術水平的高低,只決定於環境和個人的學習研究程度。在工作上,環境是一個比較重要的因數。

    因為不是每個人都會面對同樣的情況,需要處理同樣的事情,這就導致了每個人的研究方向不一樣,

    接觸的層面不一致,所以,有時候並不能說一個人在某些方面表現突出就說他好厲害。只不過工作需要

    在某些方面,研究的比較深入,想的比較多,走的比較遠。用賣油翁的話來說,就是唯手熟爾。

    大公司的技術團隊,分工合作,每個細節和方向都有專人負責。也就造成了,每個人在不同的技術

    領域有不同的成長。一開始可能看不出來,但是做了幾年之後,專注於數據庫的和專注於系統架構的,

    肯定會有很大的不一樣。也就是就算是同一個公司,同一個團隊,你都沒辦法分辨出誰的技術好,差距

    有多大。只能說是術業有專攻。

    普通公司,很多情況下,基本是一人身兼多職。公司的環境,工作的強度,也不允許你有太多的

    時間去研究一些更加深入的技術,因為這些對於公司和工作,沒有任何幫助。有時候只需要淺嘗即止就

    可以了。長此以往,在某些技術領域,如果深入說下去,或者面試的時候,深入挖掘下去,那麼肯定你

    是不如在大公司那些長期浸淫在同一個技術方向的人。但是這並不代表你比他差。

    凡事有兩面性。大公司要求的是【】:某個技術的深入,需要的是深度。小公司、普通公司需要

    的是【廣】:你的技能需要有寬度,身兼多職,什麼都需要懂一點。這個就造成了一個錯覺,好像在說

    起某些技術的時候,感覺普通公司的員工,總是不如大公司出來的厲害。其實,如果你要找一個可以做

    前端、可以寫後臺代碼、可以和客戶談需求、可以寫文檔、可以畫流程圖……那麼在這方面,大公司的

    專業技術人員,優勢就沒有了。

    專的人,技術精通於某個行業,某個方向。優點是在這方面有自己的研究,有行業的經驗,有各種

    解決方法。缺點是,離開這個行業,這個方向,難以找到工作,因為符合要求,符合資薪的大公司崗

    位並不是很多。

    廣的人,身兼多職,什麼都懂一點。優點是,涉及廣,範圍大,找工作比較容易,東邊不亮西邊亮

    要求不高,可選的職位多。缺點是,涉獵的太廣了,難以有精力去往某一個技術領域鑽研,造成技術上

    的水平不夠,看上去好像什麼都不會。

    總結:每個人都有自己的位置,很多時候,在你剛出來工作的時候,社會就會慢慢的給你定位。做了幾年之後,你自己也就慢慢習慣了這個角色。所以,人與人的差距,其實不大,編程水平的高低只看你的位置在哪裡,才能說你的水平能否勝任。只有和同行業,同方向的技術人員對比,才能看得出能力的大小。不同公司,不同崗位,不同團隊,不同的項目,不同要求,不同的研發方向,不存在水平高低之分。只有適不適合這個團隊的人。

  • 4 # 一席話君

    不在大廠,不酸不黑。憑經驗談談各自長短。

    一 大廠

    長:

    薪資更可觀。

    代碼要求更加嚴格,一般有代碼審核。

    眼光更加規範,一般能更快接觸到新技術。

    能夠有機會參與大型項目實戰。

    能夠鍍金。

    短:

    可能自己就是一顆小螺絲,專注一個點。

    工作飽和,加班多。

    二 小廠

    長:

    有時候技術選型可以自己決定。

    一般加班沒有大廠嚴重,也就意味著有更多時間可以用以自我提昇。

    短:

    薪資一般沒有大廠高。

    一般沒有代碼審核,重實現,不重性能,容易養成不好的編程習慣。

    沒有機會接觸到對大數據,高併發要求高的項目。

    簡歷不容易被認可。

    竊取樓下仁兄的一個比喻:小廠程序員就是各個中小飯店的大廚,也許煎炒烹炸,樣樣能做,但是不一定是最美味的。大廠的程序員就是御膳房的後勤,牌子響,但是也許就蔥花土豆切得溜。

    故:大廠小廠程序員,無優劣之分。但是個人建議到大廠鍍金幾年,還是十分必要的。

    本人專注互聯網最新技術,大數據,數據採集,數據處理,數據治理,望交流!

  • 5 # 藍天白雲黃沙

    就像高考一樣,雖然應試不見得合理,但是卻能夠考察智商,分析問題,解決問題問題的能力,考上清華的不見得都很厲害,但從概率上講,清華的學生優秀的比例要高,同理進阿里的人從概率上要比一般公司的優秀。我們不要拿極端例子來說

  • 中秋節和大豐收的關聯?
  • 新買的thinkpad加裝固態硬盤後有時會藍屏重啟怎麼辦?