03.04 普通公司員工的編程水平與阿里巴巴有多大差距?

張梅茜


作為一個編程十幾年的老程序員,雖然沒有進過阿里巴巴,中間換工作時候也拒絕過百度和騰訊的offer,選擇了一個更適合自己的互聯網公司,編程水平主要決定因素還是和本人基本功有著極大的環境,前幾天回答了一個大公司和小公司編碼水平誰高誰低的問題,有外在因素影響但主要還是自身,自己沒有決心提升自己的編碼水平,外界環境再好也沒多大意義。

像阿里巴巴這種大公司由於職位安排的比較飽滿,正常來講代碼的提交都需要leader的審核通過,在一定程度上能極大的提高代碼的質量,在審核機制上會更加嚴格,並且在測試把關上也會更加嚴格,普通的小公司在人員配置上可能稍微少一些,會在把關上差一點,嚴格規範的制度在一定程度上能促進程序員更深層的改進,但本質上還是自身想不想讓自己變得更加優秀,願意不願意讓自己提升的更加快速。

其實提到阿里巴巴這種大公司主要還是人心態問題,覺得大公司一定要比小公司規範,換做經歷過大公司的人,還想著在裡面自己只是一個螺絲釘,還想著去小型公司讓自己發揮的更加徹底,小公司的人又嚮往著大公司的待遇以及規範。如同沒有結婚的人,總想著走進圍城,進入的人又羨慕沒有結婚的多自由,其實來來回回也就那回事。

曾經也是為了進入大公司捨棄了一箇中型公司部門技術經理的職位,現在想象其實很不值當,進入一個成熟的大公司,自己做出的貢獻只是滄海一粟,想要向上走特別難,而真正的機會還是在創業公司或者中小型公司,當然這些東西需要親身體驗才能感受到,在年輕氣盛階段很難體味到,就是覺得自己所做的選擇是對的,實踐辨真知。

希望能幫到你。


大學生編程指南


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

一 大廠

長:

薪資更可觀。

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

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

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

能夠鍍金。

短:

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

工作飽和,加班多。


二 小廠

長:

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

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

短:

薪資一般沒有大廠高。

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

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

簡歷不容易被認可。

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

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


回答完畢,謝謝!!

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


渣渣灰233


普通公司程序員的編程水平就一定比阿里巴巴程序員差?這太絕對!我在阿里、普通公司都從事過程序員工作,從以下三個方面進行詳解,供小夥伴們參考:

一、公司規模不完全決定編程水平

一刀切的對比太主觀粗暴,就單個程序員的編碼水平來說,普通公司程序員與阿里程序員可能根本沒啥區別。普通公司也會嚴格按規範、流程編程,同樣可能有大牛帶著做項目,經過自身學習再加努力實踐,普通公司程序員的水平並不能說就比阿里的程序員差。當然了,阿里在面試程序員過程中經過了嚴格挑選把關,這些程序員的基礎都是不錯的,但真正要達到一定水平,除了環境還得靠自己進入阿里之後不斷努力。另外,眾所週期,阿里巴巴社招的程序員有相當一部分也來源於普通公司。

二、在不同規模的公司工作,到底差異在哪兒?

1、阿里巴巴晉級與薪酬制度已經相當完善了,有一套成熟的激勵體系,勤奮好學、善於溝通、技術實力強的程序員能夠在阿里得到更多的成長機會;

2、對在阿里巴巴這樣公司的程序員來說,比較幸運的是可能有機會參與大型互聯網軟件的開發,比如像架構設計、場景設計等,這對技術能力的提高比較大;

3、在阿里巴巴工作的程序員,有機會接觸前沿技術,向上有更廣袤的成長空間,在選擇下一站時有阿里工作經歷背書(俗稱鍍金),這無疑會讓在以後的職業發展道路上會擁有更多選擇。

文末福利:BAT架構師原創分享《大型網站架構之高併發設計36期資料合集》送給大家,私信發送這三個字【高併發】即可獲取哦!

覺得不錯點贊支持,小夥伴們如有不同見解,歡迎評論交流~


優知學院


雖然沒有去過大廠,但還是想強答一下,畢竟有不少認識的朋友在BAT工作或工作過。


我的看法是:BAT的牛人多,普通人也多,雖然他們不是每個人都能達到令人仰望的技術水平,但畢竟平臺高,所以眼光會變得寬闊;代碼要求更為嚴格,所以普通的程序員也會被逼變得更優秀;身邊的牛人多,普通的程序員也會受到影響,提升的更快。


正好今天看到一篇文章,是講去阿里的面試經歷,也分享給大家,看看自己離著【進】阿里還有多大的差距。


Java多線程

線程池的原理,為什麼要創建線程池?

線程的生命週期,什麼時候會出現僵死進程;

什麼實現線程安全,如何實現線程安全;

創建線程池有哪幾個核心參數? 如何合理配置線程池的大小?

synchronized、volatile區別、synchronized鎖粒度、模擬死鎖場景、原子性與可見性;


JVM相關

JVM內存模型,GC機制和原理;GC分哪兩種;什麼時候會觸發Full GC?

JVM裡的有幾種classloader,為什麼會有多種?

什麼是雙親委派機制?介紹一些運作過程,雙親委派模型的好處;(這個我真的不會...)

什麼情況下我們需要破壞雙親委派模型;

常見的JVM調優方法有哪些?可以具體到調整哪個參數,調成什麼值?

JVM虛擬機內存劃分、類加載器、垃圾收集算法、垃圾收集器、class文件結構是如何解析的;


Java擴展

紅黑樹的實現原理和應用場景;

NIO是什麼?適用於何種場景?

Java9比Java8改進了什麼;

HashMap內部的數據結構是什麼?底層是怎麼實現的?

說說反射的用途及實現,反射是不是很慢,我們在項目中是否要避免使用反射;

說說自定義註解的場景及實現;

List和Map區別,Arraylist與LinkedList區別,ArrayList與Vector 區別;


Spring

Spring AOP的實現原理和場景;(應用場景很重要)

Spring bean的作用域和生命週期;

Spring Boot比Spring做了哪些改進? Spring 5比Spring4做了哪些改進;(慚愧呀,我們還在用Spring4,高版本的沒關心過)

Spring IOC是什麼?優點是什麼?

SpringMVC、動態代理、反射、AOP原理、事務隔離級別;


中間件

Dubbo完整的一次調用鏈路介紹;

Dubbo支持幾種負載均衡策略?

Dubbo Provider服務提供者要控制執行併發請求上限,具體怎麼做?

Dubbo啟動的時候支持幾種配置方式?

瞭解幾種消息中間件產品?各產品的優缺點介紹;

消息中間件如何保證消息的一致性和如何進行消息的重試機制?

Spring Cloud熔斷機制介紹;

Spring Cloud對比下Dubbo,什麼場景下該使用Spring Cloud?


數據庫篇

鎖機制介紹:行鎖、表鎖、排他鎖、共享鎖;

樂觀鎖的業務場景及實現方式;

事務介紹,分佈式事物的理解,常見的解決方案有哪些,什麼事兩階段提交、三階段提交;

MySQL記錄binlog的方式主要包括三種模式?每種模式的優缺點是什麼?

MySQL鎖,悲觀鎖、樂觀鎖、排它鎖、共享鎖、表級鎖、行級鎖;

分佈式事務的原理2階段提交,同步\\異步\\阻塞\\非阻塞;

數據庫事務隔離級別,MySQL默認的隔離級別、Spring如何實現事務、

JDBC如何實現事務、嵌套事務實現、分佈式事務實現;

SQL的整個解析、執行過程原理、SQL行轉列;


Redis

Redis為什麼這麼快?redis採用多線程會有哪些問題?

Redis支持哪幾種數據結構;

Redis跳躍表的問題;

Redis單進程單線程的Redis如何能夠高併發?

Redis如何使用Redis實現分佈式鎖?

Redis分佈式鎖操作的原子性,Redis內部是如何實現的?


看完了有什麼感想,自己和BAT的要求有差距麼?

反正我覺得自己想要面試通過是有些困難,很多框架新版本的特性都沒有了解過,看來年前還得抽時間學些一下了。


希望我的回答,能夠幫助到你!我將持續分享Java開發、架構設計、職業發展等方面的見解,希望能得到你的關注;另外,關注我後可私信【架構】、【大數據】、【面試】、【優化】等關鍵字,獲取相關資料。


會點代碼的大叔


說到電腦的編程,對於學計算機的人來說真的是一件非常頭疼的事情,每天的編程工作都要面對各種各樣的字母,各種各樣的特殊符號,一般人看見也就只能一懵一懵的。每個程序員之間也都是有技術好技術低的,並且程序員在選擇公司的時候也面臨很大的困難。

現在社會上找工作的人都有一個普遍的現象,在小公司工作的人都想去大公司,在大公司工作的人想去中小企業工作。每個程序員都想得到一個展現自己的機會,讓自己所學的知識有所用武之地。能力較強的程序員就去了大公司,能力有點差異的就去了中小企業,但是這兩者在各自公司的發展並不一樣。

在中小企業工作程序員有可能會在公司有更大的發展空間,在大企業裡面有著許多優秀的程序員,就像是阿里巴巴,有可能在這個團隊裡面自己的能力不能跟好的發揮。有一點要清楚,技術高的人在一起會越來越優秀,他們各自有各自的特點,都會互相學習互相進步,前進的動力也大。普通公司的程序員自我提升的空間較小,沒有像阿里巴巴這樣的公司程序員水平高。

大企業對程序員的要求也很高,這些程序員所要面對的困難也非常大,逼迫著自己去提升自身的能力,如果兩個技術相匹配的程序員一個去普通企業,一個去阿里巴巴這樣的大公司,在工作一段時間後,在阿里巴巴工作的程序員要遠遠超過普通公司的程序員。雖然大公司的程序員想去中小公司,但是對他們更是一種較大的損失。

更多優質內容,請持續關注鎂客網~~


鎂客網


其實不是看公司規模的,而是看公司的重視程度,比如有的公司可能本身規模不大,但是他們意識到技術的重要性,所以會有專門的研究中心研究技術,同時每一個人只要你能想到不同的點會鼓勵你去申請專利還會獎錢,那麼這樣的公司裡面的人,就會孜孜不倦地提高自己的編程能力。

而有的公司,本身就不重視而且覺得員工只要能幹活,技術好不好的跟老闆沒關,特別是一些外包公司,從招人上就很隨意,比如我經歷過的就是在很普通的大學裡招了一群啥都不會的人,然後經過三個月的所謂培訓就上崗了,本身外包公司就不可能接觸到項目的核心程序而且即使你想改也不會讓你改的,這樣的環境有的人如果覺得不好會另謀高就,但是這個環境是很難改變的,所以所有人待久了技術都不會有所提升,編程水平就一直上不去,所以差距就會越來越大的。


陳家姑娘說職場


普通公司員工的編程水平與阿里巴巴有多大差距?要說阿里巴巴每個程序員都牛逼得不行那也是扯淡,普通公司牛逼的程序員也不少,這本身就沒有一定的定論。


在阿里巴巴的程序員與普通公司的程序員,無非是阿里巴巴公司出名了所以大家比較關注。普通公司比如某些大型的上市軟件公司、或者規模較大的公司,同樣的也做很多的大項目,只不過像阿里這樣大數據量大訪問量大併發量的場景在很多大公司不具備。


在阿里巴巴這樣公司的程序員來說,應該比較幸運的是能夠遇到大型互聯網軟件的開發,比如像架構設計、場景設計等,這對於很多程序員來說應該可以開眼界,參與其中也能鍛鍊自己。同樣的,很多大型軟件公司雖然沒有阿里這樣的場景,但同樣也有自己特殊的應用設計、場景在阿里也見不到。

而對於單個程序員的編碼水平來說,普通公司與阿里的程序員可能根本就沒啥區別。普通公司裡也有嚴格按規範、嚴格按流程、嚴格測試等來做軟件,進入裡面同樣可以遇到大牛帶領項目、大牛的傳幫帶等,耳聞目染再加努力實踐,這些程序員的水平並不能說就比阿里的程序員差。當然,阿里這樣的名氣不外乎就是進入時經過了嚴格的挑選,這些程序員的基礎都是不錯的,但真正要有水平,那還得除了環境也得要靠自己努力。


但大公司程序員與小公司的程序員還是有一些差異的。小公司人員可能接觸的項目基本不大,而像萬金油那樣啥都接觸到一些能搞一些,但深度卻不夠。比如小公司的程序員今天搞Java編碼,可能下個項目就去搞PHP,再下個項目又去搞python等,今天是程序,每隔兩個月可能又是下個項目的設計者、Leader等有可能。但恰恰在某一項編碼上卻又不像某些大公司的程序員那樣一個蘿蔔一個坑兒,又專又精。

另外小公司的開發流程及規範都不夠,有些甚至是隻要搞出來能運行就可以,所以章法上不像大公司一樣規範。甚至有些都沒有嚴格的測試就到客戶那裡去上線,讓客戶去當小白鼠,做一個敗一個。


所以作為程序員最好是能開始到大公司去學習鍛鍊規範的軟件開發那是很有益的。至於是不是阿里倒不一定,能進入阿里當然好。而說到編碼水平,絕大部分還是要靠自己的努力,特別是培養思維能力、基礎知識、見多識廣、多加實踐與交流,對自己編碼能力提升是必不可少的。天賦程序員確實有,但絕大部分程序員要說天賦都談不上,大部分也就是上面幾項用了更多的時間吧。


圖片來自於網絡,如有侵權請聯繫作者刪除,更多分享請上部關注【東風高揚】。


東風高揚


單純從技術上來說,大公司是小公司沒法比的,

大公司系統要更加複雜,研究的東西更加深入。

比如高併發,大數據,

小公司沒有那麼大流量和數據量根本沒辦法研究,

大公司一個系統N臺機器,

為了節省資源就要研究怎麼使機器能力最大化,優化代碼,優化邏輯。

小公司可能一兩臺機器就能支撐一個系統,只要沒bug就能正常運行。

非技術層面的就看公司的業務能力了。

個人看法,


BeginCode


我在京東兩年,感受頗深

第一,大業務量,大用戶量,形成了大數據量,高併發,所以每天除了考慮如何實現複雜的業務的時候,也要考慮如何讓代碼最優,高併發,大數據量情況下解決方案

第二,身邊都是志同道合的人,或者高手如雲,大家都為了做到最好,互相幫助,互相提升,分享,一起分析問題,思考最優的解決方案,也有大牛可問

第三,對底層需要更高的認識,如果你使用git,再普通公司可能用個圖形界面,但在大廠,得明白rebase 的原理,而且常用的是命令行。當然各種jvm優化,sql優化,分庫分表都得會

第四,成天的加班,必定會讓你比在別的公司工作學習時間長,真的是一年當三年


kid7157887


大公司比小公司多幾個大牛而已 但是大牛指點江山後 後續的活都是分配給下面的人 這批人水平參差不齊 所以不能說他們的水平一定就比小公司的程序員厲害 而且從廣義上說也沒有bugfree的程序 所以搬磚不分貴賤 這個問題沒有標準 也不用較真


分享到:


相關文章: