摘要:雖然有了十全的計劃,但如何高效率去記住上面那么多東西是一個大問題,看看我是怎么做的。
前言
前一篇文章講述了我在三月份毫無準(zhǔn)備就去面試的后果,一開始心態(tài)真的爆炸,但是又不服氣,一想到每次回來后家人朋友問我面試結(jié)果的期待臉,越覺得必須付出的行動來證明自己了。
面經(jīng)傳送門:一個1年工作經(jīng)驗的PHP程序員是如何被面試官虐的?
下面是我花費(fèi)兩個星期做的準(zhǔn)備,主要分三部分:
有計劃——計劃好每天要復(fù)習(xí)的知識模塊(內(nèi)容較多)
高效率——從整體到細(xì)節(jié),著重把知識點“手寫”到自己的電腦記錄本
優(yōu)簡歷——展示你的項目亮點,難點
下面的文章和網(wǎng)站鏈接我都會注明出處,如果有問題請聯(lián)系我,我會及時修改或撤銷有計劃
反思:為什么好多知識看過后不能記住,面試一緊張更加想不起?一方面自己沒有深入學(xué)習(xí),另一方面復(fù)習(xí)過程雜亂,和寫代碼一個道理,如果你的業(yè)務(wù)邏輯和其他亂七八糟的都放在控制器上,代碼一多你要調(diào)用某個方法可能就會讓你抓狂,所以一般采取controller和server分層,同理,我們最好提前做好計劃,分種類,分層次來學(xué)習(xí)。
復(fù)習(xí)前如果很迷茫,可以網(wǎng)上Google一下面試知識點,看到的無非都是操作系統(tǒng),計算機(jī)網(wǎng)絡(luò),數(shù)據(jù)結(jié)構(gòu),mysql,設(shè)計模式,Linux,Redis,再者根據(jù)你所學(xué)語言方面的知識和簡歷,例如我求職PHP,簡歷上有寫Larvel框架,那就再加PHP基礎(chǔ),框架Laravel,服務(wù)器nginx。第一天:操作系統(tǒng)
如果你是科班出身,那應(yīng)該對操作系統(tǒng)不陌生,至少在高校里面是學(xué)過這門課程的。但估計很多人像我一樣,后悔沒去好好學(xué)這門課,或者工作上用不上就拋棄它了(PHP更是如此),我要說的是操作系統(tǒng)很重要,就以我面試了幾家公司來說,基本如果你答出操作系統(tǒng)相關(guān)知識點基本都是加分的。
進(jìn)程和線程的概念,以及兩者的區(qū)別
什么是上下文切換
多進(jìn)程和多線程各自的優(yōu)勢(可以Google一下有關(guān)php-fpm和nginx進(jìn)程)
進(jìn)程通信方式
進(jìn)程基本狀態(tài)
搶占式調(diào)度和非搶占式調(diào)度
進(jìn)程線程同步,死鎖
理解協(xié)程
附加幫助我整理這些知識的網(wǎng)站和博客文章:
小土刀的面試刷題筆記——操作系統(tǒng)
并發(fā)技術(shù)·筆試面試知識整理
這里推薦有精力的朋友可以看下《Linux高性能服務(wù)器編程》,粗略看下8,9,10,13,14章,以及《深入理解計算機(jī)系統(tǒng)》的第1章和第12章,我就是結(jié)合這兩本書,記住并理解簡單的知識點,后續(xù)我還要花時間去深入閱讀。第二天:計算機(jī)網(wǎng)絡(luò)
計算機(jī)網(wǎng)絡(luò)可以說是大多數(shù)程序員需要學(xué)習(xí)的大課程,特別是PHPer這些web打交道的程序員。當(dāng)然,計算機(jī)網(wǎng)絡(luò)太底層的東西很枯燥很難懂,我只針對一些比較常見,比較基礎(chǔ)的知識面來學(xué)習(xí)。
計算機(jī)網(wǎng)絡(luò)體系包括TCP/IP體系結(jié)構(gòu),五層協(xié)議體系結(jié)構(gòu)
TCP,UDP
三次握手,四次握手(過程要熟悉,能清晰描述)
TCP協(xié)議如何保證可靠傳輸(包括重傳,流量控制,擁塞控制,定時器等知識點要了解)
附加幫助我整理這些知識的網(wǎng)站和博客文章:
小土刀的面試刷題筆記——網(wǎng)絡(luò)
TCP協(xié)議·筆試面試知識整理
復(fù)習(xí)完這些基礎(chǔ)的知識后,試著要去了解稍微底層一點的東西,因為很多面試官喜歡由淺入深地問,如果能答出一兩點基本都是加分的
推薦一篇很好的文章,仔細(xì)讀完會有很大的收獲:
TCP 的那些事兒(上)
第三天:數(shù)據(jù)結(jié)構(gòu)很多人在大學(xué)里面都學(xué)過這門課程,也是很多程序員的啟蒙課程,自然很重要,(大學(xué)唯一一次掛科就是它了。。。)
從事PHP工作的朋友應(yīng)該都用不上它,所以這也是一個很容易被忽視的基礎(chǔ)知識點,自然有很多大公司面試的時候很注重這方面的基礎(chǔ),特別是應(yīng)屆畢業(yè)生。我復(fù)習(xí)這方面的知識是重新翻開我大學(xué)的課本,把其中比較重要的東西手寫幾遍。
我不久前面試過一家要我手寫鏈表,結(jié)果早就忘了,沒寫出來
隊列,循環(huán)隊列,棧,單鏈表等,要理解,最好多手寫幾遍
樹和圖,著重復(fù)習(xí)二叉樹方面的知識,例如前中后遍歷;B樹,B+樹,紅黑樹最好要了解一下
排序算法,冒泡排序必須很熟悉,其他幾種常見的算法:簡單選擇排序,直接插入排序,快速排序也要知道
冒泡排序可以了解下如何優(yōu)化改進(jìn),有些面試官會問,如果答不出他會提示你怎么做,考察你的思考能力
關(guān)于數(shù)據(jù)結(jié)構(gòu)的參考資料基本Google一下就有很多(順便說下,21世紀(jì)程序員還是少用某度),大學(xué)的課程書是最好的,一般大學(xué)的數(shù)據(jù)結(jié)構(gòu)都是面向?qū)W生的,還是很基礎(chǔ),很好理解的。
第四天:數(shù)據(jù)庫mysql說實話,我覺得絕大多數(shù)程序員都是在CURD,學(xué)那么多東西很大方面也是為了輔助最后的curd。所以數(shù)據(jù)庫知識的重要性毋庸置疑,后面我打算買本《高性能MySQL》來提升自己這方面的能力。
基礎(chǔ)的增刪改查操作
存儲引擎MyISAM和InnoDB
理解索引數(shù)據(jù)結(jié)構(gòu),即B+樹方面的知識 參考:InnoDB索引實現(xiàn)·MySQL索引背后的數(shù)據(jù)結(jié)構(gòu)及算法原理·看云
mysql語句優(yōu)化,著重索引優(yōu)化,explain查看索引情況 參考:Mysql索引優(yōu)化
事務(wù)四大特性
隔離級別
臟讀,不可重復(fù)讀,幻讀
了解共享鎖,排他鎖,死鎖
了解主從復(fù)制原理,分庫分表
第五天:nginx和PHP-fpmnginx和php-fpm應(yīng)該算是PHP程序員接觸比較多,但是可能沒有去深入了解過,有些面試官喜歡結(jié)合nginx,php-fpm和操作系統(tǒng)進(jìn)程方面的知識來考察。
日常用到的nginx配置語法,常用的變量
nginx常見的參數(shù)優(yōu)化 參考:Nginx高并發(fā)下的優(yōu)化
nginx負(fù)載均衡,訪問控制,防盜鏈,設(shè)置靜態(tài)文件過期時間等
php-fpm工作流程
php-fpm進(jìn)程管理(靜態(tài)和動態(tài))
可以Google了解下php-fpm和nginx各自的進(jìn)程管理模式,參考文章:Nginx內(nèi)部有使用多線程嗎?
面試過程可能會問到網(wǎng)站負(fù)載低,訪問慢怎么排查,參考:論壇偶爾出現(xiàn)負(fù)載低但是訪問很慢排查思路
第六天:redis工作項目不大,用到redis的地方并不多,所以一直也沒去學(xué)習(xí)redis,但是從面試情況看來,被問到redis的概率還是很大的,畢竟這款基于內(nèi)存的數(shù)據(jù)庫功能強(qiáng)大,市場占用率很高。
與memcached的區(qū)別
5種基本的數(shù)據(jù)結(jié)構(gòu)以及各自的使用場景,最好能結(jié)合自己項目來描述
持久化,RDB和AOF 參考: 面試中經(jīng)常被問到的 Redis 持久化與恢復(fù)
如何與mysql保持?jǐn)?shù)據(jù)一致 參考:Redis和mysql數(shù)據(jù)怎么保持?jǐn)?shù)據(jù)一致的?
第七天:Laravel由于我自己是一直用Laravel框架開發(fā)的,簡歷里面的項目也多處標(biāo)明Larvel,所以這里就介紹Larvel相關(guān)的知識,你對哪個框架熟悉就去做相應(yīng)的復(fù)習(xí),基本Google和手冊都有。
Laravel生命周期
什么是服務(wù)容器,服務(wù)提供器,F(xiàn)acade門面
依賴注入
中間件,異常處理,ORM等手冊上的知識
第八天:設(shè)計模式看一個人的代碼水平,可以從是否靈活使用設(shè)計模式看出來的。寫代碼也是一門藝術(shù),好的代碼低耦合,易擴(kuò)展,設(shè)計模式的理解和使用也決定了你的代碼水平。這里推薦一本《大話設(shè)計模式》,目前我只看了一點點,對于我這樣的菜鳥覺得還不錯,后面需抽點時間好好看看。
六大原則,著重理解,最好能清晰口述
結(jié)合你的項目經(jīng)驗描述幾個設(shè)計模式。常見的有單例,三大工廠,觀察者,策略等
有一次面試官問我簡單工廠模式是不是符合六大原則之一開閉原則?我答不出來,隨便選了個符合。。。實際簡單工廠是不符合開閉原則的,這就涉及到你開閉原則的理解。第九天:PHP內(nèi)核基礎(chǔ)知識
真正要讀懂PHP內(nèi)核的人應(yīng)該很少,大多數(shù)人都沒時間和精力去研究底層,畢竟PHP一直以開發(fā)效率高著稱,只要底層有人寫好給廣大程序員用就好了。確實是這樣,但是我記得有個面試過我的大佬跟我說,很多東西不要只會用,要多想想為什么可以這樣用,PHP語言我覺得也是一樣,雖然現(xiàn)在能力有限,但我可以提前把一些比較基礎(chǔ),容易理解的底層知識學(xué)習(xí)一下,這不也是一種自我提升?面試的時候你也可以拿出來炫一下,說錯也沒關(guān)系,至少你展示出你的好學(xué),你的認(rèn)知層面。
PHP的生命周期和zend引擎
變量存儲結(jié)構(gòu)
寫時復(fù)制和引用
參考文章:
深入理解PHP內(nèi)核
PHP內(nèi)核剖析
第十天:根據(jù)你的簡歷內(nèi)容做復(fù)習(xí)面試都是拿著你的簡歷來問問題的,你的簡歷內(nèi)容會直接影響面試內(nèi)容的走向,所以簡歷寫完還要做響應(yīng)的復(fù)習(xí)。
我的簡歷有涉及rabbitMQ,elasticsearch等知識,我就對其進(jìn)行簡單的復(fù)習(xí)。
另外很重要的一點:提前想好怎么描述你做過的項目,其中遇到什么問題,怎么解決,盡量把你好的一面展示出來,這些都可以提前寫下了的,好記性不如爛筆頭,下面第二部分會說到。
高效率復(fù)習(xí)的內(nèi)容實在是太多了,單單寫上一部分內(nèi)容都快把我的鍵盤打爛,手寫斷了。雖然有了十全的計劃,但如何高效率去記住上面那么多東西是一個大問題,看看我是怎么做的。
例如第一天復(fù)習(xí)操作系統(tǒng)的知識,我是早上Google了一下有關(guān)操作系統(tǒng)的面試知識點,然后打開幾個標(biāo)簽頁,選取內(nèi)容比較齊全的。所謂“好記性不如爛筆頭”,沒有爛筆頭,只有爛鍵盤,所以我選擇把這些知識點一一整理到自己的電腦上,自己平時有寫博客,用markdown比較多(推薦Typora),所以每天就用一個md文件把知識整理下來,基本都是手打的,很少復(fù)制黏貼。這樣做,一方面讓自己印象深刻,另一方面鍛煉自己摘取核心內(nèi)容,描述能力,這也是我能寫下這么多內(nèi)容的原因。
每天晚上計劃好明天的復(fù)習(xí)內(nèi)容,可以選擇睡前回顧今天學(xué)習(xí)的知識,也可以在第二天早上回顧一遍
最好選擇一個安靜的地方,能讓你認(rèn)真學(xué)習(xí)的環(huán)境,我由于提交了離職申請需要一個月才能走,交接項目也很快,所以每天都在公司有計劃的復(fù)習(xí)(遠(yuǎn)離手機(jī))
總之,真想要離職,找一份好工作,必須對自己狠一點,找到心儀的工作再好好去放松幾天。其實有不少人一直在埋怨大環(huán)境不好,確實是,但有何用,想為自己菜,自己不努力找一個借口?王小波說的好:人的一切痛苦,本質(zhì)上都是對自己無能的憤怒。當(dāng)然運(yùn)氣也很重要,保持樂觀,別輕易放棄。
優(yōu)簡歷簡歷不用多說,就是很重要,怎么寫?其實我也是參考一篇文章的:我本以為你們會寫簡歷
概括一下:
基本的,用PDF格式,個人信息寫完整,別寫精通
技能亮點,圍繞 熟悉 , 有所 , 掌握 , 了解 , 有一定心得 等
不要這樣:
熟悉PHP , 熟悉YiiLavarel框架 ( 復(fù)制粘貼 , CURD , 就是干! )
熟悉Linux使用 , 可以搭建XXXX環(huán)境 ( 會敲cd , ls命令 , 會apt install nginx )
熟悉git或svn版本管理的使用 ( 會git push , 會git pull )
熟悉MySQL以及對數(shù)據(jù)庫的優(yōu)化 ( 會select update 和 delete , 會添加索引 )
熟悉Redis或Memcache的使用 ( 會set key , 會get key )
最好這樣:
PHP : 熟悉PHP語法 , 熟悉PHP面向?qū)ο?, 可以根據(jù)業(yè)務(wù)邏輯結(jié)合合適的設(shè)計模式 . 熟悉PHP SPL標(biāo)準(zhǔn)庫 , 對PHP的一些高級用法有所心得體驗 , 諸如pcntl多進(jìn)程模塊 , socket模塊 . 對SWOOLE所有涉獵 , 有一些自己的積累和經(jīng)驗 . 對于底層 , ZendVM如何如何 。
Redis : 熟悉Redis常用數(shù)據(jù)結(jié)構(gòu)的使用 , 可結(jié)合業(yè)務(wù)場景選擇合適的數(shù)據(jù)結(jié)構(gòu) . 熟悉Redis集群 , 對集群實現(xiàn)方案原理有一定掌握 , 對于市面常用的集中集群方案的優(yōu)缺點比較了解 . 對于底層 , 對Redis SET等底層數(shù)據(jù)結(jié)構(gòu)的實現(xiàn)有所掌握。
一定要寫項目亮點和難點
大多數(shù)人都是這么寫的 : 負(fù)責(zé)用戶登錄注冊模塊 , 后臺管理 , 多角色權(quán)限控制 , 負(fù)責(zé)廣告業(yè)務(wù)模塊的管理和篩查(太普通,太泛了)
亮點 . 你覺得這個項目中哪一部分值得自豪或?qū)W到新東西了 . 比如項目中用到ECDH , 使用了MySQL中間件等等。
難點 . 你覺得這個項目哪一部分當(dāng)時難了你幾天 , 然后你通過自己努力解決了以及解決方案是什么。
總結(jié)面試并不簡單,不要太輕敵,做好準(zhǔn)備,打好基礎(chǔ)是關(guān)鍵。毫無準(zhǔn)備就去投簡歷面試大多是浪費(fèi)時間,甚至浪費(fèi)進(jìn)入好公司的機(jī)會。還是那句話程序員應(yīng)該腳踏實地,不要眼高手低,用實際行動證明自己。
我是即將入職廣州一家游戲公司PHP開發(fā)崗位的程序員,2018年畢業(yè),畢業(yè)到現(xiàn)在確實收獲了不少,也讓我看清自己,需要惡補(bǔ)的知識還有很多很多。歡迎大家關(guān)注我的個人博客https://zgxxx.github.io/,比較簡陋,還是希望能和萬千大神交流技術(shù)問題,一起成長。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/31227.html
摘要:寫在前面的話最近互聯(lián)網(wǎng)朋友圈充斥著一股恐慌的氣息。本人作為一名,萬不敢稱資深,只是呆過幾年大型央企和大型互聯(lián)網(wǎng)企業(yè),聊有一點自己的看法罷了。如果不放心,以一周為期,對展示在面前的機(jī)會進(jìn)行初步分級。也可以略高于期望,以此探一探對方的反應(yīng)。 showImg(https://segmentfault.com/img/bVblxeY?w=1008&h=298); 寫在前面的話 最近互聯(lián)網(wǎng)朋...
摘要:新一代的選擇,每個人選擇不同,人生道路歷程也不同。尤其是與人溝通還有更多點擊續(xù)集泥瓦匠想做一個與眾不同的技術(shù)匠 本文閱讀大約 3 分鐘。謝謝你讀到這篇文章 喝了最后一口百事可樂,想到它的 slogan:新一代的選擇。新一代的選擇,每個人選擇不同,人生道路歷程也不同。就像我剛畢業(yè)的時候,畢業(yè)選擇不一樣,現(xiàn)在就不一樣了 沒畢業(yè)前,報名醫(yī)科大讀書,但因為色弱被調(diào)劑到信管專業(yè)。這就是被選擇了,...
摘要:準(zhǔn)備不充分第一輪不過第一家,廣州琶洲一家環(huán)境超級好,福利也不錯,主營美顏的公司,這也是我最感遺憾的一次面試機(jī)會。主要是第一輪面試第一個問題的種數(shù)據(jù)類型,只答了一個。 前言 首先需要說明的一點,本人只是一個畢業(yè)一年,只有一年工作經(jīng)驗的普通PHPer,能力有限,這篇文章只是將我這幾周來的感受和體驗分享出來,希望能給許多像我一樣,或者互聯(lián)網(wǎng)行業(yè)的新手帶來一些收獲,當(dāng)然哪里說的不對或不足還是希...
摘要:拿到秋招的同學(xué),如確定入職需與用人單位簽署三方協(xié)議,以保證雙方的利益不受損失。當(dāng)然每個崗位所要求的側(cè)重點不同,但卻百變不離其宗。方法論要想達(dá)成某個目標(biāo)都有其特定的方法論,學(xué)習(xí)技術(shù)也不例外,掌握適當(dāng)?shù)膶W(xué)習(xí)方法才能事半功倍。 寫在前面的話 筆者從17年的2月份開始準(zhǔn)備春招,其中遇到不少坑,也意識到自己走過的彎路。故寫了這篇文章總結(jié)一番,本文適合主動學(xué)習(xí)的,對自己要學(xué)的課程不明確的,對面試有...
摘要:拿到秋招的同學(xué),如確定入職需與用人單位簽署三方協(xié)議,以保證雙方的利益不受損失。當(dāng)然每個崗位所要求的側(cè)重點不同,但卻百變不離其宗。方法論要想達(dá)成某個目標(biāo)都有其特定的方法論,學(xué)習(xí)技術(shù)也不例外,掌握適當(dāng)?shù)膶W(xué)習(xí)方法才能事半功倍。 寫在前面的話 筆者從17年的2月份開始準(zhǔn)備春招,其中遇到不少坑,也意識到自己走過的彎路。故寫了這篇文章總結(jié)一番,本文適合主動學(xué)習(xí)的,對自己要學(xué)的課程不明確的,對面試有...
閱讀 4235·2023-04-25 16:32
閱讀 2295·2021-09-28 09:36
閱讀 2108·2021-09-06 15:02
閱讀 761·2021-09-02 15:21
閱讀 987·2019-08-30 15:56
閱讀 3587·2019-08-30 15:45
閱讀 1782·2019-08-30 13:09
閱讀 453·2019-08-29 16:05