亚洲欧洲国产欧美一区精品,激情五月亚洲色五月,最新精品国偷自产在线婷婷,欧美婷婷丁香五月天社区

      python

      當(dāng)前位置:中華考試網(wǎng) >> python >> python后端高級(jí)開發(fā) >> 文章內(nèi)容

      python后臺(tái)開發(fā)一般是做什么?

      來源:中華考試網(wǎng)  [2020年9月20日]  【

        后臺(tái)的內(nèi)容很多。但是相對(duì)臺(tái)來說沒有那么炫,也不會(huì)與產(chǎn)品有過多的交互。通常包括這樣幾類:dao1.web開發(fā)。做web交互的后臺(tái)部分2.提供api,webservice或者是restful接口給其它程序。通常是數(shù)據(jù)處理,數(shù)據(jù)橋接,推薦,搜索,工具調(diào)用,統(tǒng)計(jì),計(jì)數(shù),任務(wù)管理,資源調(diào)度,監(jiān)控,驗(yàn)證碼,報(bào)表等等。

        后臺(tái)開發(fā)的基本要求

        語言層面

        例如java, python, php , c/c++ 等,和對(duì)應(yīng)的開發(fā)框架。 這個(gè)是基本要求,因?yàn)槟阒辽僖煜ひ婚T語言和常用的框架,你才有可能接手正式的工作,要不你都干不了活。

        語言和框架,包括對(duì)應(yīng)的運(yùn)行時(shí)環(huán)境,是貫穿整個(gè)職業(yè)生涯的東西。不同階段對(duì)語言和框架的要求是不一樣的;不同公司對(duì)新入職員工的要求也不一樣。大公司對(duì)畢業(yè)生甚至沒有框架的要求,就算你只會(huì)一門語言而不會(huì)任何框架也可以, 但相應(yīng)的,對(duì)算法,操作系統(tǒng)等方面的要求就會(huì)高很多。中小公司就很看重入職新人語言框架方面的實(shí)際能力。因?yàn)橹行」颈旧淼馁Y源有限,沒有那么多的時(shí)間來培養(yǎng)新人,他們更想要進(jìn)來就可以干活的。所以如果你的算法或其他方面很牛B,你可以不太理會(huì)這塊,想辦法去大廠。 但如果你其他方面都不怎么行,基本的語言和框架就是你的敲門磚了。

        語言框架,這個(gè)算是最基本要求了,也是貫穿整個(gè)職業(yè)生涯的要求,越高階,需要掌握的程度也越高。

        數(shù)據(jù)庫

        對(duì)數(shù)據(jù)庫的要求跟語言框架是一樣的。 首先你得會(huì),不會(huì)的話,就沒辦法工作。 現(xiàn)在大部分公司的數(shù)據(jù)庫都是mysql。 當(dāng)然也有使用Mongodb ,Redis 等的。 數(shù)據(jù)庫的增刪查改操作是最基本的,是能干活的基礎(chǔ)。進(jìn)階一點(diǎn)的時(shí)候,需要開始理解數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu),索引實(shí)現(xiàn),要對(duì)性能優(yōu)化有所了解。 再進(jìn)階,數(shù)據(jù)庫的鎖,事務(wù),高并發(fā)設(shè)計(jì)等。數(shù)據(jù)庫的要求也是越高階越難的,到后面甚至出現(xiàn)自研數(shù)據(jù)庫的需求。 這個(gè)就是分布式存儲(chǔ)的領(lǐng)域了,很復(fù)雜,可以講很久了。對(duì)于新人而言,會(huì)增刪查改應(yīng)該可以滿足初期需求了。后面需要開始對(duì)性能,對(duì)并發(fā)等有要求的時(shí)候,就需要對(duì)數(shù)據(jù)庫本身的實(shí)現(xiàn)機(jī)制有更進(jìn)一步的了解了。這些可以在實(shí)際工作中慢慢學(xué)習(xí)和積累。

        數(shù)據(jù)庫,必備的技能,貫穿整個(gè)職業(yè)生涯,隨著開發(fā)的等級(jí)越來越高,要求也會(huì)越來越高。

        算法數(shù)據(jù)結(jié)構(gòu)

        算法的重要度,都已經(jīng)不需要再次闡明了。 幾乎所有人,所有公司都是覺得很重要的。 就類似武俠小說里面的內(nèi)功,擁有深厚的內(nèi)功,才能將各種招式充分的發(fā)揮出來。我這里說說,在實(shí)際工程中,算法數(shù)據(jù)結(jié)構(gòu)的應(yīng)用情況。

        實(shí)際工程中,算法數(shù)據(jù)結(jié)構(gòu)的實(shí)現(xiàn)和應(yīng)用情況,可能跟大家想象的不太一樣。 對(duì)于通用的算法,類似快速排序,快速查找,都有現(xiàn)成的庫可以使用,一般團(tuán)隊(duì)也不會(huì)讓你直接手寫一個(gè)快速排序---低效,說不準(zhǔn)還會(huì)有bug。 而類似哈希,鏈表,隊(duì)列,這幾類的使用會(huì)多很多。 特別是哈希 和 鏈表,使用頻率最高。 不過,實(shí)際工程中, 對(duì)數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)的要求跟教科書上的不太一樣。 對(duì)于哈希,你可能懂得用開放地址法或鏈表的方式來處理沖突,而實(shí)際工程中這些遠(yuǎn)遠(yuǎn)不夠。 實(shí)際的生產(chǎn)環(huán)境,基本都是多并發(fā)的環(huán)境, 你還需要保證你設(shè)計(jì)出的數(shù)據(jù)結(jié)構(gòu),是線程安全的,也就是可以多并發(fā)處理,而且可能還有一定的性能要求。 這個(gè)就要比較教科書難不少了。 再比如, 你可能會(huì)被要求去實(shí)現(xiàn)一個(gè)隊(duì)列,因?yàn)橐獞?yīng)對(duì)并發(fā),你的隊(duì)列要設(shè)計(jì)成多進(jìn)多出的,所以你要加鎖,但因?yàn)橐咝В宰罱K你要設(shè)計(jì)一個(gè)無鎖隊(duì)列。這個(gè)也會(huì)比教科書的難。但在我的實(shí)際工作中,幾乎沒遇過要我去手寫一個(gè)平衡二叉樹的需求,好像我周圍的同事也幾乎沒遇到。我想除非是做數(shù)據(jù)庫的同學(xué)會(huì)遇到吧。這些都是實(shí)際工作和教科書的區(qū)別。

        算法數(shù)據(jù)結(jié)構(gòu),總的來說,是最重要的內(nèi)功之一,但實(shí)際工程中的要求可能跟教科書的要求會(huì)有些不一樣。

        操作系統(tǒng)(類unix, windows , 類unix偏多)

        剛?cè)胄械臅r(shí)候, 對(duì)操作系統(tǒng)的理解還不需要太深入,只要知曉有操作系統(tǒng) 的存在就行。在后面慢慢進(jìn)階的過程中,操作系統(tǒng)對(duì)你整個(gè)工作的影響會(huì)越來越大。會(huì)影響你的整體設(shè)計(jì),性能,更直接的是,你在實(shí)際工作中首次碰到的很多無法解釋的“靈異事件”,都可能跟操作系統(tǒng)的機(jī)制和策略有直接或間接的關(guān)系。 這里舉個(gè)實(shí)際設(shè)計(jì)中的例子: 我一個(gè)同事,早期的時(shí)候,做個(gè)一個(gè)自研的隊(duì)列組件(類似rabbitmq那種), 設(shè)計(jì)的極其復(fù)雜。我看他的文檔看了好久才明白其中的原理。 后面找他討論, 才發(fā)現(xiàn)他很多的設(shè)計(jì)都是為了追求極致的磁盤寫入性能。 他做了寫入緩存,做了各種數(shù)據(jù)對(duì)齊,這些又使的他的上層設(shè)計(jì)變得復(fù)雜。 后來跟他一起討論了linux文件系統(tǒng)的緩存機(jī)制,發(fā)現(xiàn)直接用write 系統(tǒng)調(diào)用,順序的寫入文件就完美解決問題了。而他圍繞此處所有的設(shè)計(jì)都是多余的。類似的情況,我還遇到不少。所以操作系統(tǒng)的知識(shí),特別是對(duì)操作系統(tǒng)機(jī)制和策略的深入理解,對(duì)后臺(tái)的設(shè)計(jì),開發(fā),真的會(huì)帶來完全不一樣的結(jié)果。如果一個(gè)后臺(tái)開發(fā)對(duì)操作系統(tǒng)的理解不能深入到一定程度,我覺得他是沒辦法在這條路上進(jìn)階的。

        操作系統(tǒng),這個(gè)屬于進(jìn)階需求,需要長(zhǎng)遠(yuǎn)在這個(gè)方向發(fā)展的話,就要注意這塊的積累。

        網(wǎng)絡(luò)協(xié)議: tcp/udp, http, https 等

        一般情況,網(wǎng)絡(luò)協(xié)議, 需要到達(dá)清楚理解機(jī)制的程度。

        比如tcp 和udp 的區(qū)別。tcp 的鏈接建立和斷開的過程. http 和 https 的區(qū)別。 實(shí)際工作中, 如果你的工作涉及底層網(wǎng)絡(luò)框架的開發(fā),那對(duì)tcp /udp的實(shí)現(xiàn)機(jī)制就需要有深入的理解了,要不你無法設(shè)計(jì)出高性能的框架。 其他協(xié)議也是類似。

        總得來說,如果不是專門做網(wǎng)絡(luò)框架或涉及設(shè)計(jì)類似p2p等私有網(wǎng)絡(luò)協(xié)議的。 相對(duì)其他,個(gè)人覺得這個(gè)在實(shí)際工作中的運(yùn)用相對(duì)沒有那么多。但是,大家不要混淆了網(wǎng)絡(luò)協(xié)議和 epoll / select 這種服務(wù)器開發(fā)機(jī)制的區(qū)別。 類似socket 套接字的使用,epoll/select 的深入理解,還是很重要的。目前很多公司已經(jīng)不用從socket 套接字和epoll/select 層面來構(gòu)建服務(wù)了,而是直接采用了現(xiàn)成的rpc框架,但對(duì)于想長(zhǎng)期往后臺(tái)方向發(fā)展的同學(xué),還是建議掌握socket epoll select 。我記得我當(dāng)初進(jìn)公司,第一個(gè)任務(wù)就是不用任何框架,實(shí)現(xiàn)一個(gè)服務(wù)器,要求高性能,支持高并發(fā);径际遣捎胹ocket 套接子 + epoll來實(shí)現(xiàn)。做完,基本可以熟悉和知曉在數(shù)據(jù)傳輸上需要解決的一些問題。

        網(wǎng)絡(luò)協(xié)議,需要達(dá)到清楚理解機(jī)制的程度。如果是從事網(wǎng)絡(luò)框架開發(fā)或需要設(shè)計(jì)私有網(wǎng)絡(luò)協(xié)議, 則會(huì)有更高的要求。

      責(zé)編:hym
      • 會(huì)計(jì)考試
      • 建筑工程
      • 職業(yè)資格
      • 醫(yī)藥考試
      • 外語考試
      • 學(xué)歷考試