redis跳躍表面試 普通公司員工的編程水平與阿里巴巴有多大差距?
普通公司員工的編程水平與阿里巴巴有多大差距?作為一名從事編程工作十多年的老程序員,雖然從未在阿里巴巴工作過,但他在跳槽時拒絕了百度和騰訊的邀請,選擇了一家更適合自己的互聯(lián)網(wǎng)公司。他的編程水平的主要決定
普通公司員工的編程水平與阿里巴巴有多大差距?
作為一名從事編程工作十多年的老程序員,雖然從未在阿里巴巴工作過,但他在跳槽時拒絕了百度和騰訊的邀請,選擇了一家更適合自己的互聯(lián)網(wǎng)公司。他的編程水平的主要決定因素是他有一個良好的環(huán)境來培養(yǎng)他的基本技能。日前,他回答了一個問題,即哪個公司的編碼水平高還是低,對于大公司還是小公司來說都有外部因素,但主要還是自己的。他們沒有決心提高自己的編碼水平。不管外部環(huán)境有多好,都沒有多大意義。
由于阿里巴巴等大公司的全方位安排,提交代碼通常需要得到領(lǐng)導(dǎo)的批準(zhǔn),這樣可以在一定程度上大大提高代碼的質(zhì)量。審計機制將更加嚴(yán)格,測試控制也將更加嚴(yán)格。普通的小公司在人員配備上可能會少一點,控制也會在一定程度上差一點,嚴(yán)格規(guī)范的制度可以促進(jìn)程序員更深層次的提高,但實質(zhì)上是他們是否想做得更好,是否想提高得更快。
事實上,說到阿里巴巴這樣的大公司,主要是人們的心態(tài)問題。他們認(rèn)為大公司必須比小公司更標(biāo)準(zhǔn)化。那些經(jīng)歷過大公司的人仍然認(rèn)為他們只是其中的一個螺絲釘。他們還想去小公司,讓他們玩得更徹底。小公司的人渴望大公司的待遇和標(biāo)準(zhǔn)化。就像未婚的人一樣,他們總是想進(jìn)入被圍困的城市,他們羨慕未婚者的自由。其實,來回是一回事。
有一次,為了進(jìn)入一家大公司,我放棄了一家中型公司的技術(shù)經(jīng)理職位。現(xiàn)在,這不值得想象。當(dāng)我進(jìn)入一家成熟的大公司時,我的貢獻(xiàn)只是滄海一粟。很難上去,真正的機會還在初創(chuàng)公司或中小企業(yè)。當(dāng)然,這些東西需要親身經(jīng)歷,當(dāng)你年輕充滿活力的時候,你會覺得很難欣賞。你只是覺得自己做出了正確的選擇和實踐,把真理和知識區(qū)別開來。
我希望我能幫助你。
在做程序員的道路上,你掌握了什么概念或技術(shù)使你感覺自我提升突飛猛進(jìn)?
我是甲方的ERP程序員,公司剛推出ERP系統(tǒng)時,大家都覺得上帝的存在太復(fù)雜了。
上線后,各種問題層出不窮,項目已通過驗收。乙方一聽我們的問題,就會有兩個動作:1)這個問題不在需求范圍內(nèi),需要付費解決;2)這個問題這個版本沒有解決,下一個版本可以解決。
顯然,這是個小問題。為什么不能解決?核心原因:沒有源代碼,不知道從哪里開始。ERP歸根結(jié)底是對數(shù)據(jù)庫的添加、刪除和修改。直到我明白了這兩點,ERP的“九字真言”終于越過了前三個字。(所謂ERP九字咒語是:先剛性,后固化,再優(yōu)化)。
我理解的兩點如下:1)真正理解ERP邏輯的人不是計算機工作者,而是業(yè)務(wù)骨干。ERP構(gòu)建了最常見、最核心的業(yè)務(wù)邏輯,體現(xiàn)在操作流程和功能接口上。只有業(yè)務(wù)骨干才能真正理解這種設(shè)計的必要性。
2)只要程序員與業(yè)務(wù)主干相結(jié)合,盡管沒有源代碼,但還是有辦法看到添加、刪除、修改和查詢的代碼是如何操作數(shù)據(jù)庫的。這是SQL事件探查器跟蹤程序。
兩者結(jié)合后,ERP維護(hù)將變得非常簡單。畢竟,一個已經(jīng)上市幾十年的ERP產(chǎn)品具有很好的穩(wěn)定性和繼承性。那么,各種個性化報表的開發(fā)就非常簡單了。
隨著對業(yè)務(wù)編程越來越熟悉,這個團(tuán)隊將對ERP產(chǎn)品有非常透徹的了解,終于有一天。乙方要求增加維修費,我們想了想,沒有,我們自己維修吧。然后,我們將ERP的生產(chǎn)功能分離,自行定制開發(fā),并逐步完善,越來越喜歡它。這是九字咒語的最后一個階段:優(yōu)化。
當(dāng)然,這一過程的實現(xiàn)得益于ERP產(chǎn)品開發(fā)平臺的支持和自身的開發(fā)邏輯。大型工廠(包括國外SAP)的ERP從財務(wù)模塊開始,再到供應(yīng)鏈,再到制造,再到商業(yè)智能。這決定了每個模塊是松散耦合的。在演化過程中,采用了多種接口方式,從硬寫數(shù)據(jù)庫到使用XML交換數(shù)據(jù),再到COM組件接口、API,甚至提出了整體開發(fā)平臺,并用開發(fā)平臺重寫業(yè)務(wù)文檔?;旧希@些資料可以在網(wǎng)上找到。如果你參加幾次由大工廠組織的開發(fā)培訓(xùn),就更容易開始。
作為計算機專業(yè)的學(xué)生,算法很差,該怎么提升?
算法需要長期積累和熟悉。
對于計算機軟件開發(fā)專業(yè)人士來說,算法極其重要,熟悉和掌握常用的算法,對理解問題、解決問題非常重要。
那么,如何更有效地掌握常用算法呢?現(xiàn)在讓我談?wù)勎易约旱目捶ā?/p>
首先,找到有趣的點并查看更多。
在學(xué)習(xí)算法之初,學(xué)生總是感到枯燥乏味,沒有任何實際應(yīng)用指導(dǎo),對持續(xù)深入的學(xué)習(xí)不感興趣。漸漸地,他們忘記了所學(xué)的所有算法,更不用說掌握了。
解決方法是:堅持看,多看,看這個算法在實際應(yīng)用中的例子。所以你不會覺得算法很無聊。
第二,練習(xí)和理解。
沒有實踐的支持,理論總是模糊不清的。每次學(xué)習(xí)算法時,都必須用自己的編程語言來實現(xiàn)。當(dāng)你能用編程語言實現(xiàn)一些算法時,你就會有成就感!同時,你也很自然地理解了算法的思想,即掌握了算法。
第三,多學(xué)習(xí)別人的算法講解,仔細(xì)分析別人的想法。
總之,算法是一門很重要的課程,也是一門很有意思的課程,祝你在學(xué)習(xí)的路上,有興趣找樂子
?。g迎關(guān)注我,一起討論)
Redis的“表”怎么設(shè)計的?
使用redis讀寫數(shù)據(jù),使用隊列處理器定期向MySQL寫數(shù)據(jù)。
同時,必須避免沖突。啟動redis時,從MySQL中讀取所有表鍵值并存儲在redis中。向redis寫入數(shù)據(jù)時,redis主鍵會自動遞增并讀取。如果MySQL更新失敗,需要及時清除緩存并同步redis主鍵。
這樣,redis主要用于實時讀寫redis,MySQL數(shù)據(jù)通過隊列異步處理,減輕MySQL的壓力。但該方法的應(yīng)用場景主要基于高并發(fā),redis的高可用集群架構(gòu)相對復(fù)雜,一般不推薦使用。