2020-04-23
好程序員 Python培訓(xùn)
好程序員Python培訓(xùn)分享Python程序員面試技巧,往年的這個時候,“金三銀四”的招聘熱潮已經(jīng)撲面而至。今年,因為疫情的影響,各大公司的社招可能跟“2002的場雪”一樣,比以往時候來得晚一些。當(dāng)然,對于計劃在年后找工作或者跳槽的人來說,相當(dāng)于多了一段可以用來準(zhǔn)備面試的時間,相信有這個計劃的人已經(jīng)開始各項準(zhǔn)備工作了。
今天,想跟大家聊一聊面試中的一些技巧,因為我自己是一個程序員,目前以Python作為主要的開發(fā)語言,我跟大家聊的也是程序員面試的相關(guān)技巧。可能我會以Python程序員面試為例,但是這些技巧應(yīng)該對程序員都有用的。
我們的簡歷上通常會有一個叫做“專業(yè)技能”的部分,這個部分通常會羅列6到12項左右的內(nèi)容來展示你對編程語言、開發(fā)框架、服務(wù)器產(chǎn)品、開發(fā)工具等的理解和掌握情況。這里的每句話在面試時都可能都會產(chǎn)生一個或多個對應(yīng)的問題,如果不事先做好準(zhǔn)備,只是憑感覺羅列出若干項內(nèi)容,那么在面試的時候必然是一個填不起的大坑。接下來,我為大家舉例說明這些坑都在什么地方。
下面的內(nèi)容是不是在你的簡歷上也有類似的描述呀,那么看看我提出的問題,你是否能夠給出漂亮的答案。
技能點1:熟練的使用Python語言進(jìn)行應(yīng)用程序開發(fā),有良好的編程習(xí)慣,對面向?qū)ο蟮脑O(shè)計原則以及常用設(shè)計模式有較為深入的理解,熟悉Python開發(fā)中常用的標(biāo)準(zhǔn)庫和第三方庫。
如果我是面試官,針對上面的描述會問你如下幾個問題。
問題1:你所指的良好的編程習(xí)慣是什么。
問這個問題其實是想考察你對編程規(guī)范(如:PEP8)的理解,除此之外還想知道你有沒有使用Lint工具檢查代碼的習(xí)慣。
問題2:說一說你知道的面向?qū)ο蟮脑O(shè)計原則有哪些;你在項目中用到過哪些設(shè)計模式。
很多面試者都喜歡說自己懂設(shè)計原則和設(shè)計模式,但是基本上稍微一問就原形畢露了。簡單的“哪些地方會用到單例模式”,很多面試者都答不上來,而且面試官并不想聽你說出23種設(shè)計模式的名字,而是想知道你的項目中哪個場景用到了哪種設(shè)計模式。
問題3:說幾個你在平時工作中用得多的標(biāo)準(zhǔn)庫和三方庫。
技能點2:熟練的使用Django和Flask框架進(jìn)行Web應(yīng)用后端開發(fā),熟悉MVC(MTV)架構(gòu)模式,有在項目中使用django-redis、django-celery、django-rest-framework、flask-sqlalchemy、flask-restful等第三方庫的經(jīng)驗,了解過Web.py、Tornado、Twisted等框架。
如果我是面試官,針對上面的描述會向你提出如下幾個問題。
問題1:說一下你對MVC的理解。
這個問題其實還是很友好的,但是如果你就背書式的把網(wǎng)上找到的所謂的參考答案念出來,面試官肯定是不滿意的。這種問題一定要說自己的理解和看法,好結(jié)合著項目來講。我在面試中還有一個神奇的發(fā)現(xiàn)就是很多面試者認(rèn)為MVC就是三層架構(gòu),我只能說這個行業(yè)里面蹩腳的開發(fā)者還真多。
問題2:說一說Django框架中一個請求的生命周期是怎樣的。
問題3:說一說Django、Flask、Tornado框架各自的優(yōu)缺點。
技能點3:熟悉關(guān)系型數(shù)據(jù)庫產(chǎn)品MySQL和Oracle,熟練的使用SQL,對MySQL的優(yōu)化有一定程度的了解,熟悉非關(guān)系型數(shù)據(jù)庫產(chǎn)品MongoDB和Redis,有使用高速緩存服務(wù)和消息隊列服務(wù)優(yōu)化項目的經(jīng)驗。
問題1:你知道哪些和MySQL優(yōu)化相關(guān)知識?
這個問題可能還是比較能夠鑒別開發(fā)者的能力和水平,因為MySQL的優(yōu)化涉及到硬件、軟件、架構(gòu)各個方面的問題,當(dāng)然還有程序本身的優(yōu)化。
問題2:在使用Redis實現(xiàn)高速緩存時,有沒有遇到過緩存雪崩、緩存穿透等問題?
問題3:比較一下你用過的數(shù)據(jù)庫產(chǎn)品,說一下它們都適合什么樣的應(yīng)用場景。
技能點4:熟悉常用的機(jī)器學(xué)習(xí)算法和模型,包括:KNN、DecisionTree、LR、Naive Bayes、SVM、PCA、AdaBoost、K-Means等。
問題1:K均值算法的優(yōu)缺點是什么?如何對算法進(jìn)行調(diào)優(yōu)?
問題2:歐氏距離和余弦距離的特點和應(yīng)用場景分別是什么?
問題3:決策樹有哪些常用的啟發(fā)函數(shù)?
技能點5:熟練使用Linux操作系統(tǒng),熟悉Linux常用服務(wù)的安裝和配置,熟悉Shell編程。
問題1:說一些你常用的Linux命令。
這個問題貌似非常友好,但是如果你張嘴就說出pwd、ls、cd這些命令,面試基本就結(jié)束了,為什么自己想想就明白了,想不明白就給我留言吧。
問題2:如何使用find命令根據(jù)文件大小、文件后修改時間搜索文件,如何刪除搜索到的文件。
一個命令加上的常用參數(shù)深挖一下,也可以甄別出很多對Linux系統(tǒng)并不熟悉的小白。
問題3:Shell腳本中如何定義函數(shù)?函數(shù)中如何獲取傳入的參數(shù)?如何調(diào)用函數(shù)并傳入?yún)?shù)?
技能點6:熟練的使用Git實施項目的版本控制,熟悉項目的開發(fā)流程。
問題1:說一下之前的公司項目開發(fā)使用的過程模型(開發(fā)流程)。
問題2:說一下之前的項目中是如何實施缺陷管理(錯誤管理)的。
這個問題還可以繼續(xù)深挖到如何提一個缺陷報告、缺陷分為多少個級別等。
問題3:之前公司在使用git進(jìn)行版本控制時,用的是哪一種分支管理策略?
我經(jīng)常驚奇的發(fā)現(xiàn),很多面試者說自己能熟練的使用Git,但是居然不知道Git的分支管理策略。
技能點7:熟悉Nginx、uWSGI、Gunicorn等服務(wù)器的配置和使用,熟Docker、K8S等工具在項目部署中的應(yīng)用。
問題1:之前的項目部署一共用了多少臺服務(wù)器?有沒有跳板機(jī)?有沒有配置VPC?
問題2:說一下WSGI是什么?比較一下uWSGI和Gunicorn。
很多面試者對CGI、WSGI這些完全沒有概念,這就是典型的知其然不知其所以然。
問題3:微服務(wù)架構(gòu)有什么優(yōu)點?項目中是否使用過微服務(wù)架構(gòu)?
技能點8:熟悉Web前端開發(fā)的語言和框架,對HTML、CSS和JavaScript有較好的理解和掌握,熟悉jQuery、Lodash、Bootstrap、AngularJS、Vue.js等前端庫和框架。
前端的東西我也不太懂,也沒有什么發(fā)言權(quán),但是一般面試的時候我也喜歡問下面幾個問題。
問題1:你們公司的前端用過哪些庫和框架?
就算你只負(fù)責(zé)后端開發(fā),但是前端用的技術(shù)肯定也應(yīng)該是清楚的,沒吃過豬肉也見過豬跑。
問題2:你們移動端是原生開發(fā)還是跨平臺開發(fā)?
這個問題可以繼續(xù)追問關(guān)于跨平臺開發(fā)工具的相關(guān)問題,道理跟個問題一樣。
問題3:你們公司前端跟后端如何對接工作?例如遇到數(shù)據(jù)格式化之類的問題時,到底是前端來處理還是后端來處理。
看到這里,相信你已經(jīng)比較深刻的體會到了寫簡歷是個技術(shù)活,一不小心就給自己挖一個在面試的過程中無法填補(bǔ)的大坑。那么如何提前把這個坑填好了,兩個辦法:
1. 認(rèn)真負(fù)責(zé)的制作簡歷,不要把無法把控的內(nèi)容強(qiáng)加到自己的簡歷上。
2. 對于已經(jīng)做好了簡歷,給它做一版標(biāo)注稿,把可能遇到的問題提前標(biāo)注好,并借此思考這些問題應(yīng)該如何解決,這也算是對之前學(xué)習(xí)工作的經(jīng)歷做一個總結(jié)和沉淀。
當(dāng)然,剛才只說了“專業(yè)技能”的部分,至于”工作經(jīng)歷“和”項目經(jīng)驗“的部分也會有類似的問題。行成于思?xì)в陔S,凡事預(yù)則立不預(yù)則廢,制作一份有競爭力的簡歷的關(guān)鍵就在于此。面試當(dāng)然不僅僅是簡歷,簡歷只是一個開始,找工作需要的是展示自己的綜合實力。但是,我們相信好的開始是成功的一半,首先做好自己的簡歷,才能迎來美好的”金三銀四“。
開班時間:2021-04-12(深圳)
開班盛況開班時間:2021-05-17(北京)
開班盛況開班時間:2021-03-22(杭州)
開班盛況開班時間:2021-04-26(北京)
開班盛況開班時間:2021-05-10(北京)
開班盛況開班時間:2021-02-22(北京)
開班盛況開班時間:2021-07-12(北京)
預(yù)約報名開班時間:2020-09-21(上海)
開班盛況開班時間:2021-07-12(北京)
預(yù)約報名開班時間:2019-07-22(北京)
開班盛況Copyright 2011-2023 北京千鋒互聯(lián)科技有限公司 .All Right 京ICP備12003911號-5 京公網(wǎng)安備 11010802035720號