導航:首頁 > 程序命令 > 阿里巴巴程序員怎麼寫代碼好

阿里巴巴程序員怎麼寫代碼好

發布時間:2024-12-04 04:32:02

『壹』 在阿里巴巴上班程序員寫錯代碼會被開除嗎

不會李寬胡。阿里巴巴是一傢具有創新精神的科技公司,注重員工的創造力和創新能力。因此阿里巴巴不會因為程序員寫錯代碼而開除員工。相反,阿里巴巴鼓勵員工創造性地解決問題,積極推崇巧歷「犯錯是成功的一部分」的理念,認為從錯誤中學習和成長是一種很好哪攔的經驗。

『貳』 阿里巴巴程序員是做什麼的

程序員分很多工種,阿里巴巴也一樣,一個公司有前端程序員,主要負責前端頁面察拆的開發,後端鋒沒雀程序員,主要負責後端邏輯的設計與開發,大數據程序員,主要負責公司數據倉庫開發,運維工程師,負責公司伺服器資源的維銀早護,以及虛擬資產的定期更新。


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

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

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

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

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

希望能幫到你。

以我自身的經歷來回答吧!我是做java開發的,在沒進阿里之前,我在外面其他公司幹了四年。頭兩年乾的最多的事情就是直接把業務翻譯成代碼,做的最多的事情就是curd。工程化以及結構化設計根本不存在的,什麼性能、可擴展性、易用性、可維護性通通不考慮。把功能實現了就可以了,活脫脫的把面向對象的語言使用成了面向過程編程。(因為大家都這樣干)主要還是因為剛畢業在這家公司做erp系統,功能可以用就不管了。接下來的兩年換了一家電商公司,這也是一個天坑,代碼跟 山差不多,我進去做庫存的,第一件事情就是熟悉了業務然後進行了重構。前面做這一塊的人都差不多走光了,模型抽象,領域分層,模塊分層一頓操作下來自我感覺良好。但是疊加了兩年的業務以後,媽的差不多也是 山了,為了業務快速迭代犧牲一些也是能理解的。然後我走了[捂臉]。

進入了阿里,我是做中台開發的。這里最喜歡乾的就是重復造輪子,幹啥都要講究高可用、可復用、可擴展、可維護、可讀性……寫代碼大抵是這樣的一個介面進去寫介面一般先上熔斷降級開關、分布式鎖,然後就是加緩存,接著業務就用領域模型+泛化抽象模型+工廠設計模式+策略模式 這一頓操作下來後,為了支持擴展性還得定製spi擴展點提供擴展。一個業務功能的代碼完全是割裂的狀態。不過項目跟代碼的質量跟之前的公司比確實上升不少。只能說環境的影響很大吧

雖然沒有去過大廠,但還是想強答一下,畢竟有不少認識的朋友在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的要求有差距么?

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

大公司如bat大部分普通程序員,由於做的太專一了,基本上在某一方面做得不錯,整體能力差很遠,但是自己覺得啥都行。

這么比喻吧,如果說把程序員比作廚師。

普通公司的程序員基本上是各個飯店的大廚,啥菜都會做。

bat是御膳房,程序員什麼大菜都見過,但基本上一個大菜也做不了。很多人就是御膳房後勤部切蔥花大隊的切蔥花手

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

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

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

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

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

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

能力上,bat的程序員遠超小公司程序員;不要相信那些什麼小公司的程序員什麼都要做所以咋樣咋樣,大公司就只是一顆小螺絲釘,自欺欺人而已;大公司的程序員天賦就強於小公司的程序員,技術靠的是天賦+努力,天賦遠遠重要於努力,你不信那就是你傻

在阿里三年的老人說一下。主要是能夠獲取和見識到小公司不能給你的經驗,場景和挑戰

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

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

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

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

大公司的程序員,在代碼專精度方面確實超過小公司程序員。他們往往在技術的某一方面鑽研頗深,在代碼實踐上做得細膩完美無可挑剔。小公司程序員在專精度上不如bat程序員,因為大環境使然,無法讓一個程序員只負責某一模塊的代碼,他們往往一個人當兩三個人用,常常遇到的復雜業務用現有框架和技術無法解決,需要自己結合多個技術框架和知識點才能解決復雜的業務。

所以都是程序員,環境和平台造就了程序員代碼風格和側重點不同,但就工作態度和對技術的專注程度來說,大公司的程序員無疑是有更優異的條件來養成這些良好習慣的。作為程序員,一生還是應該去大廠體驗不同的企業文化和更高素質的從業人員,自身的見識和深度也會有所不同。

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

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

比如高並發,大數據,

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

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

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

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

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

個人看法,

『肆』 阿里巴巴最牛的電腦程序員是誰

曾是一個網紅的網路技術達人,他的名字叫余鋒,擁有者頂級黑客的能力,每天為阿里巴巴抵擋上萬次黑客入侵,擁有著年薪百萬等優厚的待遇。

而阿里巴巴最牛的程序員就是余鋒了,中國第一代技術網紅,阿里“拜霸爺”神教創始人,現阿里雲彈性計算負責人,一個把阿里雲團隊推向國內雲資料庫頂尖的男人。霸爺的技術有目共睹,知乎網友對他的評價更被奉為經典:對於計算機的了解到了庖丁解牛的程度,他被馬雲中用,每天抵擋很多外來黑客,年薪百萬。

『伍』 作為一個應屆生程序員,我是怎麼通過阿里的三輪面試的

首先,自我介紹。
我:「我做過兩個項目。寫過幾篇論文和專利。還參加過阿里巴巴大數據競賽。同時,出於個人興趣,我還閱讀了一下HDFS的少部分源碼,理解了一下HDFS的核心思想,實現了一個功能非常簡單,並且還不完善的HDFS。」
面試官1:「說一說你寫的論文中的某一篇的創新點?」
我:「我寫的文章或者專利,主要遵循一個原則:將已有的理論或者模型應用到新的場景中。所以,都是偏向應用的。重點說說這篇論文吧。首先,從奇異值分解說起吧……」
大概講了幾分鍾後,面試官1打斷我:「你做的這些東西都偏向數據挖掘方向,為什麼沒有投數據挖掘呢?」
我:「因為,按照我的理解,數據挖掘這個崗位需要對機器學習演算法有深入研究,然而,我做的偏向於對數據挖掘演算法的應用。所以,我想投研發,偏向數據挖掘和分布式方向,從基礎做起。」
面試官1:「其實,你的優勢是做過數據挖掘。這樣吧,我先找一個數據研發的面試官對你進行一下面試。等會兒,你再來我這。」
雖然自己也系統地學習過機器學習演算法,但是接觸時間太短(幾個月),研究不夠深入,只在比賽中用過少數幾種演算法:LR、RF和GBRT。自己的優勢在於對數據的理解和特徵的提取,以及演算法的應用。
而演算法推導過程並不清楚,只是理解了其思想。我怕被問得太細致,所以不是很情願。不過,在面試官1的堅持下,最終還是同意了。
看到第二個面試官的牌子上寫著「數據研發」,我稍微舒了口氣;幸好不是「數據挖掘」。

今年,「數據研發」崗位招人挺多的,很多都是去小微金服。面試完之後,我覺得「數據研發」的崗位要求是這樣子的:

熟練掌握基本的SQL語句;因為有一道筆試題目。我覺得阿里應該用自己的ODPS-SQL(類似於Hive)進行數據研發,雖然這個平台挺復雜的,但是面試的時候的要求並不高。只要掌握基本的內建函數和SQL語句就行了:select, group by…

我在比賽過程中,寫過幾萬行SQL代碼(去重之後幾千行),沒有用到過索引和視圖;經常用到內建函數,偶爾使用UDF(用戶自定義函數)。但是,寫的代碼不包含索引、視圖和UDF。也沒有考優化(其實我也不懂)。

有數據研發方面的相關經歷,面試官似乎很注重這一項。我參加過阿里巴巴大數據競賽。

對數據研發有一些自己的看法。這個很關鍵,一定要思路清晰。我主要在講比賽中的模型:數據的預處理->訓練集、預測集->特徵提取->進一步處理->正負樣本比例->訓練->預測。

當然會用寫MapRece的話就過更好了。阿里的平台提供了MapRece,估計工作中會用到。

然後,跟第二個技術面試官開始交流。
面試官2:「自我介紹一下吧。」
我:「剛才介紹過其他經歷了。那我主要介紹下與數據研發相關的經歷吧。」然後,簡單說了下自己參加的阿里巴巴大數據競賽。
面試官2:「行。先做一道題目吧。」
面試官給了我一道SQL的題目:給定一個表,共四列:user_id, brand_id, time, cnt(花的錢數)。從這個表裡面選出用戶B對每個品牌brand購買的總額度。
一看到,有點竊喜,這跟我競賽做的東西太相似了。
跟面試官進行簡單溝通後,很快寫出來了。不過還是怕做錯,檢查了很久才拿給面試官2。順便提了一下,如果需要處理字元串的話,我會用ODPS-SQL裡面的UDF。面試官看了下程序,沒說什麼,就放到了一邊。
後面,我們主要在討論阿里巴巴大數據競賽:我做了什麼,用什麼模型、演算法做的,准確率是多少。(這塊討論時間最多)
還好,我主要討論的是對業務和數據的理解,沒有深入討論數據挖掘演算法。
討論很順利。結束之後,面試官2把我帶回面試官1。
回來後,繼續與面試官1主要討論我寫的論文。由於之前對自己寫的論文進行過總結,思路很清晰。並談論了寫論文的體會和收獲。
總之,第一面的面試官很和藹,交談也很開心。

再次稍微提一下:個人覺得面試官主要有兩類,一類是用技術把你問死,從而判斷你對技術的掌握深度。

另一類是,簡單的技術問題之後,讓你去表現,引導你來講,從而看你這個人的思想、表達能力、個人觀點等綜合素質。

當然,一個面試官如果看到你不善於表達,就只能一直問你問題了。很榮幸,我碰到的是第二種面試官。面試跟聊天一樣輕松。

最終,順利通過。
應該是這個樣子的吧 哈哈【ITjob]

『陸』 阿里巴巴的程序員技術是不是都很牛

你好,在例如阿里巴巴這樣的bat互聯網大廠的程序員,做到架構師的職級一般都可以到年薪百萬,具體如下。

1、阿里工程師崗位職級

阿里巴巴集團採用雙序列職業發展體系

一套體系是專家路線【P序列=技術崗】,程序員、工程師,某一個專業領域的人才,一共分為14級,從P1到P14,目前校招最低從P4開始。

一套體系是M路線,即管理者路線【M序列=管理崗】,從M1到M10。

阿里P8架構師作為阿里的「IT架構靈魂人物」的角色,他們不僅做著架構師的本職工作,還同時做程序開發,寫核心代碼的工作。另外,架構師依舊是技術高手,編程能力依然是一流的。

但根據當前的市場需求,互聯網大廠們對於普通Java開發人才需求逐年銳減,而對互聯網架構師人才的需求招聘量已經上升到50%,因此薪資更是不可同日而語。

對於想學習互聯網架構師的同學來說,北大青鳥、課工場等優秀品牌都是不錯的選擇。課程根據招聘需求制定,包含全部分布式微服務技術,對標阿里P8級別架構師。



希望我的回答對你有所幫助!

閱讀全文

與阿里巴巴程序員怎麼寫代碼好相關的資料

熱點內容
兩位數乘99速演算法題 瀏覽:287
加密U盤里的視頻怎麼導出 瀏覽:162
編譯程序和解釋程序是什麼程序 瀏覽:64
華為的平板m6支持方舟編譯器嗎 瀏覽:967
二胡考級pdf 瀏覽:874
哪個順風車app比較貴 瀏覽:20
golang如何反編譯 瀏覽:685
為什麼匯編編譯時沒錯 瀏覽:520
培訓java程序員出路 瀏覽:289
Python兄弟連視頻 瀏覽:996
下面賦值語句不會出現編譯警告 瀏覽:479
下載之後如何解壓打開 瀏覽:614
pythonlensysargv 瀏覽:303
x722驅動無法編譯 瀏覽:402
解壓時顯示出錯 瀏覽:840
阿里雲配置mysql資料庫伺服器地址 瀏覽:913
關於安卓系統老化怎麼解決 瀏覽:814
php撮合交易 瀏覽:1005
決戰服務端源碼編譯 瀏覽:994
騰訊雲伺服器如何保持開啟 瀏覽:372