即使是臨近年末罢维,我依然選擇了裸辭淹仑,冒著可能會(huì)失業(yè)的風(fēng)險(xiǎn)。
我之前是在深圳工作的,因?yàn)樽约菏墙K人匀借,也不想在深圳長期發(fā)展颜阐,所以先辭了職,回到上海這邊好讓自己更方便的參加面試吓肋。
這是我第二次裸辭了凳怨,有了上一次的裸辭經(jīng)驗(yàn),我這一次在心理準(zhǔn)備方面是鬼,明顯更加的游刃有余肤舞。
花了一周多一點(diǎn)的時(shí)間,在上海參加了十幾家公司的面試均蜜,大概有三四家想要要我李剖,拿到了一份較為滿意的offer。
面試是一個(gè)非常消耗心力的過程兆龙,我很難想象杖爽,若不是我比較僥幸,拿到了幾個(gè)還滿意的offer紫皇,我很難想象在此時(shí)凄風(fēng)苦雨的寒冷的上海慰安,煢然一身的我,會(huì)面臨怎樣的崩潰與絕望聪铺。
所以化焕,我衷心希望,我能夠把自己的一些面試經(jīng)驗(yàn)分享出來铃剔,去幫助到一些正在找工作的朋友撒桨,讓他們的求職之路更順利一些,少一點(diǎn)像我這樣的折騰键兜。
我工作三年凤类,主要編程語言是python,找的是后端開發(fā)或運(yùn)維開發(fā)的崗位普气,想結(jié)合自己的實(shí)際面試經(jīng)歷谜疤,來談一談python社招的一些經(jīng)驗(yàn),歡迎大家交流討論~
面試之前
市場(chǎng)環(huán)境
先說一下大環(huán)境现诀,中國的互聯(lián)網(wǎng)環(huán)境已經(jīng)漸趨穩(wěn)定成熟了夷磕,但初中級(jí)別的程序員依然很泛濫,高級(jí)程序員很缺失仔沿。所以想要在眾多應(yīng)聘者中脫穎而出坐桩,實(shí)力才是王道。
另外封锉,通常的招聘季是金三銀四或者金九銀十绵跷,像我這個(gè)11月份去找工作的畢竟是很少了膘螟,但我覺得上海畢竟是大城市,要說市場(chǎng)上沒有崗位是不可能的抖坪,另外在淡季萍鲸,和我競(jìng)爭(zhēng)的人也很少了闷叉。所以擦俐,基于以上的判斷以及自己的勇氣,我毅然覺得辭職握侧,從深圳來到了上海蚯瞧。
個(gè)人定位
我覺得,每一個(gè)招聘者都要對(duì)自己在市場(chǎng)上的位置做一個(gè)合理的評(píng)估品擎,這樣才能準(zhǔn)確的知道自己想要找什么類型的公司埋合,是大公司大平臺(tái)呢,還是中小型企業(yè)呢萄传,還是創(chuàng)業(yè)公司呢甚颂?評(píng)估的依據(jù),取決于自己的實(shí)力秀菱,職業(yè)道路的方向振诬,以及對(duì)市場(chǎng)的認(rèn)識(shí)。
不過如果不清楚也沒有關(guān)系衍菱,投遞公司的時(shí)候可以各類公司都投一投赶么,大中小公司都去面一面,總之脊串,不要把雞蛋放在一個(gè)籃子里辫呻,多給自己制造一些機(jī)會(huì)。面試是一個(gè)很好的去接觸外界琼锋,了解自己能力水平的過程放闺,可以幫助你對(duì)市場(chǎng)環(huán)境有一個(gè)更清晰的認(rèn)識(shí)。面試結(jié)束后通常有反問問題的環(huán)節(jié)缕坎,也可以把握住機(jī)會(huì)怖侦,多去問一問對(duì)方公司在做的東西,使用的技術(shù)棧等等念赶。
對(duì)于我自己來說础钠,我就把面試當(dāng)成一個(gè)很好的檢驗(yàn)自己的機(jī)會(huì),同時(shí)讓我有機(jī)會(huì)去和別的公司交流技術(shù)叉谜。所以說旗吁,平時(shí)在工作過程中,也可以隔三差五的出去面試一下停局,看看自己的能力水平幾何很钓,避免自己和市場(chǎng)脫節(jié)太久香府,以及溫水煮青蛙的情況。
簡歷
接下來就是制作一份簡歷码倦,關(guān)于如何制作一份簡歷企孩,網(wǎng)絡(luò)上的教程也很多了。我覺得技術(shù)簡歷的關(guān)鍵就是要把自己的做的比較出彩的項(xiàng)目袁稽,以及個(gè)人技術(shù)棧講清楚勿璃,這些都是面試中問的比較頻繁的幾個(gè)點(diǎn)。另外因?yàn)樽约喊V迷于markdown推汽,第一次嘗試了markdown風(fēng)格的簡歷补疑,效果還不錯(cuò),蠻清晰的歹撒。
渠道
對(duì)于招聘渠道的選擇莲组,如果有小伙伴的內(nèi)推那是最好的,另外建議多注冊(cè)幾個(gè)app暖夭,多管齊下的去尋找面試機(jī)會(huì)锹杈,比如拉勾、boss直聘迈着、獵聘等等竭望。一些想去的公司的官網(wǎng)的招聘頁,也是一個(gè)不錯(cuò)的信息來源寥假。
面試準(zhǔn)備
作為技術(shù)面試市框,該如何去復(fù)習(xí)準(zhǔn)備面試呢,我覺得可以從以下幾點(diǎn)去考慮糕韧。
數(shù)據(jù)結(jié)構(gòu)與算法
為什么把這一塊放在第一個(gè)講枫振,因?yàn)檫@是技術(shù)面試?yán)锓浅V匾瞧綍r(shí)工作中又最容易忽視的一塊萤彩。都說「面試造航母粪滤,工作擰螺絲」,如果不是算法崗雀扶,程序員在日常工作中算法使用場(chǎng)景非常有限杖小,但這就是面試考察的一個(gè)重點(diǎn)。
我大概面了十幾家公司愚墓,基本每家公司都會(huì)考一些算法題予权,或者讓你說一下思路,或者直接手寫程序浪册,如果沒有事先準(zhǔn)備過扫腺,會(huì)特別的不適應(yīng),尤其是白板算法那塊村象。
所以笆环,我的準(zhǔn)備建議是攒至,面試前至少前一周,就要花時(shí)間去練習(xí)算法題躁劣,保持手感了迫吐。
首先強(qiáng)推leetcode網(wǎng)站,中文站是https://leetcode-cn.com/账忘。leetcode是非常有名的刷題網(wǎng)站志膀,里面匯聚了各大企業(yè)的經(jīng)典算法題,而且可以在線提交代碼闪萄,自定義測(cè)試用例梧却,查看其他人的題解等等。如果你覺得中文站上面的題解沒有自己想要的败去,也可以看一下外文站https://leetcode.com/
,他們的題目順序都是一樣的烈拒,只是中文站在本土化這方面更強(qiáng)一點(diǎn)圆裕。
如果因?yàn)闀r(shí)間緊迫,我建議你針對(duì)以下數(shù)據(jù)結(jié)構(gòu)和算法的知識(shí)點(diǎn)進(jìn)行重點(diǎn)復(fù)習(xí):
各種排序算法荆几,冒泡排序吓妆,堆排序,快速排序等吨铸,時(shí)間復(fù)雜度空間復(fù)雜度分析行拢,能做到手寫。
常用數(shù)據(jù)結(jié)構(gòu)诞吱。鏈表舟奠、二叉樹、堆房维、棧等等沼瘫。
經(jīng)典算法題。(待整理)
基礎(chǔ)知識(shí)
任何一門技術(shù)面試咙俩,基礎(chǔ)知識(shí)一定是重中之重耿戚。對(duì)于python程序員面試來說,我覺得下面三塊內(nèi)容比較重要阿趁,考察的頻率也非常高膜蛔。
- 語言基礎(chǔ)
可變對(duì)象、不可變對(duì)象脖阵、裝飾器皂股、迭代器和生成器、線程和進(jìn)程独撇、魔術(shù)方法屑墨、動(dòng)態(tài)解釋性躁锁、元類等。
- web基礎(chǔ)
http請(qǐng)求卵史、狀態(tài)碼战转、網(wǎng)絡(luò)安全、django處理請(qǐng)求的順序以躯、cookie和session
- 數(shù)據(jù)庫
mysql的事務(wù)槐秧、索引、鎖忧设、性能調(diào)優(yōu)刁标,nosql數(shù)據(jù)庫中redis考察的比較多。
項(xiàng)目經(jīng)驗(yàn)
一般對(duì)應(yīng)屆生來說址晕,基礎(chǔ)知識(shí)很重要膀懈。對(duì)于社招來說,項(xiàng)目經(jīng)驗(yàn)是非常重要的一塊內(nèi)容谨垃。
我建議可以從下面幾個(gè)角度去準(zhǔn)備自己的項(xiàng)目:
- 項(xiàng)目介紹
推薦STAR模型启搂。
S——situation,項(xiàng)目是什么背景下產(chǎn)生的
T——task刘陶,你的任務(wù)是什么
A——action胳赌,你怎么做的
R——result,結(jié)果如何
- 項(xiàng)目中的難點(diǎn)匙隔、閃光點(diǎn)
我相信每一個(gè)真實(shí)做過自己的項(xiàng)目的人疑苫,肯定會(huì)對(duì)自己的項(xiàng)目有所思考》自穑總結(jié)一下自己在這個(gè)項(xiàng)目里最難的地方捍掺,以及最精彩的地方,也可以使用上面的STAR模型碰逸。
- 項(xiàng)目框架
有的面試官會(huì)要求你在白紙上把項(xiàng)目的框架圖或者設(shè)計(jì)圖畫出來乡小,這個(gè)也可以提前準(zhǔn)備下,做到條理清晰饵史,臨場(chǎng)畫的話很容易亂满钟。
總結(jié)
面試是一場(chǎng)艱難的戰(zhàn)役,我發(fā)現(xiàn)在那種緊張對(duì)弈的交鋒氛圍中胳喷,我從來沒有體會(huì)過所謂超常發(fā)揮的感覺湃番,準(zhǔn)備了100分,能把60分發(fā)揮出來就已經(jīng)非常不錯(cuò)了吭露。所以吠撮,建議每一個(gè)面試者都要提前把一些必問的東西(個(gè)人介紹、項(xiàng)目經(jīng)驗(yàn)等等)提前準(zhǔn)備好讲竿,并且模擬表達(dá)一下泥兰,以防臨場(chǎng)緊張而忘詞弄屡。
面試真題
因?yàn)樽约捍髲S和創(chuàng)業(yè)公司都會(huì)去面,給我的感覺是鞋诗,大廠的考察深度會(huì)更深一點(diǎn)膀捷,比如問你怎么用python定位一些內(nèi)存滿、CPU滿的問題削彬,怎么做mysql性能優(yōu)化等等全庸。而小公司問的更多是一些基礎(chǔ)問題,以及看你之前經(jīng)驗(yàn)的一個(gè)匹配度融痛。
我這里從我親身的面試經(jīng)歷壶笼,精選出了30道面試常考題雁刷,涉及到了python面試的方方面面覆劈,大家可以自行測(cè)試。
python基礎(chǔ)
- python是什么樣的語言安券,和其他語言的區(qū)別墩崩。
- python中的線程和進(jìn)程,以及使用場(chǎng)景侯勉,你知道協(xié)程嗎?
- GIL是什么铝阐,為什么會(huì)有GIL址貌,去掉會(huì)怎樣,有了GIL為什么還要給程序加鎖徘键?
- 迭代器练对、可迭代對(duì)象、生成器分別是什么吹害?生成器的作用和使用場(chǎng)景螟凭?
- python中的裝飾器是什么?如何實(shí)現(xiàn)它呀?使用場(chǎng)景螺男?
- python中的元類是什么?
- python中的可變對(duì)象和不可變對(duì)象之間的區(qū)別纵穿。
- python的魔術(shù)方法你知道哪些下隧,new,init谓媒,call的區(qū)別是什么
- django的中間件是什么
- celery的原理淆院,如何配置worker的權(quán)重
項(xiàng)目
- 如何定位內(nèi)存過高或CPU過高的問題
- 畫一下你的項(xiàng)目的結(jié)構(gòu)
- 項(xiàng)目中你遇到的最大的困難是什么,是如何解決的句惯?
- 項(xiàng)目中你最有成就感的地方是什么土辩?
- 你業(yè)余是怎么學(xué)習(xí)編程的支救?看哪些書?有自己做過什么項(xiàng)目拷淘?
web
- HTTP/GET/POST/PUT/PATCH之間的區(qū)別
- 狀態(tài)碼的含義以及出現(xiàn)場(chǎng)景各墨,301,302辕棚,404欲主,500,502逝嚎,504等
- cookie和session的區(qū)別和聯(lián)系
- 從url請(qǐng)求到返回扁瓢,中間經(jīng)歷了什么
- HTTP和HTTPS的區(qū)別,HTTPS如何進(jìn)行加密的
數(shù)據(jù)庫
- mysql的索引是什么补君,如何建立索引引几,B+樹的結(jié)構(gòu)
- mysql中的事務(wù)是什么,隔離等級(jí)是什么
- 如何優(yōu)化sql語句
- mysql的性能優(yōu)化等
操作系統(tǒng)
- 堆和棧的區(qū)別
- 什么是io多路復(fù)用
- nginx的配置
算法
- 找到整數(shù)列表的最大k個(gè)數(shù)挽铁,時(shí)間復(fù)雜度
- 輸入一維數(shù)組array和n伟桅,找出和值為n的任意兩個(gè)元素
- 常見的排序算法,時(shí)間復(fù)雜度分析
- 生成一個(gè)旋轉(zhuǎn)矩陣
職業(yè)發(fā)展
作為一個(gè)代碼打工仔叽掘,對(duì)于我來說楣铁,想要成為牛逼的程序員的路還很長,一刻都不能懈怠更扁。
我無法從HR角度盖腕,或者技術(shù)leader的角度來臆測(cè)哪種狀態(tài)的面試更能獲取面試官青睞。但通過我積攢的大量的面試經(jīng)驗(yàn)浓镜,我多少可以推斷一些成為有競(jìng)爭(zhēng)力的程序員的一些必要條件溃列。
1. 技術(shù)是王道
這一點(diǎn)毋庸置疑。我是一個(gè)非科班出身的程序員膛薛,在技術(shù)成長方面更多的是在工作中學(xué)听隐,但這還遠(yuǎn)遠(yuǎn)不夠,每一位想要成為大牛的程序員哄啄,都必須深入底層原理去學(xué)習(xí)雅任,比如操作系統(tǒng)、網(wǎng)絡(luò)增淹、數(shù)據(jù)結(jié)構(gòu)和算法等椿访,也許這些東西在你工作中看起來沒用,卻是提高你的技術(shù)深度虑润,擴(kuò)大技術(shù)視野的非常重要的一環(huán)成玫。
我是一個(gè)比較容易自卑的人,在面試的時(shí)候,遇到答不上來的問題還是非常容易挫敗的哭当,覺得自己好弱猪腕。術(shù)業(yè)有專攻是一方面,但很多基礎(chǔ)的東西是一個(gè)程序員的基本素養(yǎng)钦勘,在這上面丟分還是很容易給面試官造成一個(gè)不好的印象的陋葡。另外,面試所覆蓋的點(diǎn)也不一定完全擊中你所準(zhǔn)備的東西彻采,我覺得面試者可以在面試過程中主動(dòng)「推銷」自己腐缤,哪怕一個(gè)問題沒答上來,也要盡可能的展現(xiàn)一下自己在這一塊內(nèi)容里做過哪些研究肛响,避免面試官錯(cuò)誤預(yù)估你的水平岭粤。
除了基礎(chǔ)知識(shí)和底層原理,技術(shù)的另一塊內(nèi)容就是你在工作中的實(shí)踐了特笋。我在工作中常常見到一類人剃浇,他們只滿足于被分配的任務(wù),抱著多一事不如少一事的觀念猎物,不去把一個(gè)問題深入的去弄明白虎囚,害怕技術(shù)挑戰(zhàn),包括我自己曾經(jīng)也是這一類人蔫磨。
其實(shí)這樣對(duì)職業(yè)發(fā)展的道路是非常不好的淘讥,如果不去走出舒適區(qū),你永遠(yuǎn)只是一個(gè)CURD的程序員堤如,完全沒有市場(chǎng)競(jìng)爭(zhēng)力适揉。在面試中最能展現(xiàn)自己的,就是你在面對(duì)技術(shù)難題的時(shí)候煤惩,是如何研究,如何思考炼邀,如何解決的魄揉。所以,工作中遇到技術(shù)難題拭宁,一定要把它當(dāng)做技術(shù)上的試金石洛退,成長的寶貴的機(jī)會(huì),而不要當(dāng)做攔路虎而逃避杰标。
2. 工作經(jīng)歷
面試官常會(huì)問的一個(gè)問題是兵怯,你未來的職業(yè)規(guī)劃是什么。我不知道其他人有沒有清晰的規(guī)劃腔剂,對(duì)我自己來講媒区,更多的還是走一步看一步,并沒有想的特別遠(yuǎn),這其實(shí)是很不好的袜漩。
曾經(jīng)有一個(gè)面試官對(duì)我講绪爸,5年是一個(gè)關(guān)鍵節(jié)點(diǎn),如果你工作5年宙攻,依然沒有華麗的工作履歷奠货,或者工作能力仍舊處于小白水平的話,是非常危險(xiǎn)的座掘,市場(chǎng)對(duì)你的能力是由懷疑的递惋。
我想,如果作為一個(gè)5年開發(fā)經(jīng)驗(yàn)的人溢陪,他差不多也換了兩三份工作了吧萍虽,從每一個(gè)公司的情況每一個(gè)工作崗位的內(nèi)容,多少可以看出點(diǎn)他的職業(yè)發(fā)展路徑有沒有一條清晰的路線嬉愧。如果一個(gè)人的目標(biāo)很明確贩挣,他的每次跳槽一定有自己的內(nèi)在邏輯在里面,他的技術(shù)成長也不會(huì)太差没酣。而如果每次跳槽都很盲目王财,技術(shù)成長沒有延續(xù)性,很可能你雖然工作很多年裕便,但是根本沒有核心的技術(shù)競(jìng)爭(zhēng)力绒净,這是要警惕的。
對(duì)未來的規(guī)劃這塊內(nèi)容偿衰,我自己也非常欠缺挂疆,因?yàn)槲铱偸潜е富畛鲎晕摇沟南敕ǎ瑢?duì)一些世俗理論天然排斥下翎,其實(shí)是走了很多彎路的,不過既然我意識(shí)到了這一點(diǎn)视事,亡羊補(bǔ)牢為時(shí)未晚吧,未來俐东,會(huì)多接觸一些技術(shù)大牛,參加一些技術(shù)論壇虏辫,不會(huì)囿于自己的舒適區(qū),早點(diǎn)找到一條快速的職業(yè)發(fā)展路徑砌庄。
薛兆豐老師曾經(jīng)講過一句話羹唠,「每個(gè)人都在為自己的簡歷打工」奕枢,我在這里感同身受,賣方只是提供工作崗位的肉迫,競(jìng)爭(zhēng)永遠(yuǎn)是買方和買方之間的競(jìng)爭(zhēng)验辞。所以,想要出人頭地喊衫,一定要比其他員工多下功夫跌造,少壯不努力,老大徒傷悲族购。
3. 格局
這個(gè)詞是我從一個(gè)獵頭朋友那兒聽到的壳贪,他說在職場(chǎng)中,男生最重要的是格局寝杖。
我是這么理解的违施,只有你愿意到達(dá)什么樣的高度,你才有可能成為什么樣的高度的人瑟幕。比如磕蒲,如果你只甘心做一個(gè)工程師,那就活該當(dāng)一個(gè)底層碼農(nóng)了只盹,而如果你能夠站在更高的維度去做一些事情辣往,我相信你能收獲很多寶貴的東西。
比如殖卑,在實(shí)際開發(fā)中站削,多去把一些業(yè)內(nèi)的新技術(shù)引用進(jìn)來,而不是僅僅滿足于已經(jīng)成熟的開發(fā)框架孵稽;不再僅僅去完成領(lǐng)導(dǎo)分配的任務(wù)许起,多站在公司或者團(tuán)隊(duì)的視角去看問題,多一些全局的視野菩鲜;遇到問題時(shí)园细,不要簡簡單單的解決了就完事了,要學(xué)會(huì)深入底層接校,以及觸類旁通珊肃,把這一類問題都解決,形成自己的思考問題的邏輯框架……
這些東西也是我在此前的工作中缺失的馅笙,我希望我自己能夠在新的工作中,多思考厉亏,多沉淀董习,形成自己的技術(shù)格局。 畢竟也不是初入職場(chǎng)的小白了爱只,我理當(dāng)給自己提出更高的要求皿淋,這也是為了在下一次的招聘過程中,能更順利一些疯暑。
每次拿到offer之后哑舒,總會(huì)長舒一口氣洗鸵,覺得自己可以休息一下了。但隨之而來的是甘凭,后面的入職丹弱、適應(yīng)新的工作躲胳、新的工作團(tuán)隊(duì)鸣驱,搬家找房踊东,一個(gè)又一個(gè)的挑戰(zhàn)接踵而至。
還不能懈怠啊再芋,希望自己在二十一世紀(jì)一十年代能安穩(wěn)下來济赎,以最好的姿態(tài)去迎接2020年司训!也祝所有在找工作的朋友們?cè)缛漳玫綕M意的offer液南。
最后,我建了一個(gè)github的項(xiàng)目统扳,上面會(huì)持續(xù)更新我的python學(xué)習(xí)心得和面試指導(dǎo),歡迎star~