摘要:正確做法是給加索引,還有聯合索引,并不能避免全表掃描。
前言:有收獲的話請加顆小星星,沒有收獲的話可以 反對 沒有幫助 舉報三連
有心的同學應該會看到我這個noteBook下面的其它知識,希望對你們有些許幫助。
本文地址
時間點:2017-11
一個16年畢業生所經歷的php面試
一、什么是面試
二、面試準備
1. 問:什么時候開始準備?
2. 問:怎么準備?
三、面試干貨
1、某教育機構兩面
mysql事務是什么
php代碼解釋過程
百度統計的實現原理
如何共享session
git分支管理策略
restful設計
附加題:論壇的表設計
情景題:一個登錄系統的改進
自己最滿意的代碼
了解哪些設計模式,實際用例
2、某電商公司三人面
將一個二維數組的值首字母大寫
使用正則獲取html里的href屬性的值和a標簽內的值,并以href值為key,a標簽內的值為value存入二維數組中
優化語句查詢
找出N個數中的第M大的數
Ajax跨域請求時,會出現什么問題?如何解決
如何優化一個CPU運算密集的網站
自己最滿意的 代碼
其它
3、某民宿杭州分公司一面
phpunit的用法
redis異步隊列實現細節
redis中zest如何根據兩個屬性排序,比如id和age
你對多進程和多線程還有協程的理解
說說怎么理解現在前端框架中的組件化和模塊化
http協議中get和post的區別,怎么實現的
最近在看什么書
4、某眾籌杭州分公司三面
php使用什么mysql連接?
場景題:索引的建立規則和explain
你用的是php版本是哪個?為什么?php7有什么更新?
nginx相關
看你用過laravel和tp,比較下兩款框架
你未來的發展規劃,1年的,3年的
其他
5、某旅游公司兩面
為什么離職
如何選擇PHP的?關于目前流行的Java比較?
有沒有系統的培訓過?有沒有看php相關的網絡課程和書籍?
看你用過laravel和tp, 比較下兩款框架
php基礎知識**
laravel包**
你未來的發展規劃, 1年的,3年的
你可以問我兩個問題?
其 他
四、面試總結
一、什么是面試說到面試,還是先說你為什么要離職,
什么情況下你會毫不猶豫地辭職?瀏覽數已經達到51826523次了,5000w+,o_o!
關鍵字:成長、發展、委屈、領導、錢(工資)突發感想是不是可以抓取下然后分析關鍵字,哈哈哈
還有
「寧愿花 11K 重新招人,也不愿意花 9K 留住老員工」的現象是否屬實?為什么會出現該現象?
還想看嗎
離職前一定要找好下家嗎?公司招聘時一般如何看待裸辭和騎驢找馬?
我的理解:面試不是高考,高考只有一次(不說補習),面試可以有n次,只要有面試機會,你就可以一直去面,面到吐為止都沒關系,不要怕失敗,
公司沒選擇你不是你不優秀,而是你不符合他們的要求,回家思考下面試不足的地方,調整下心態,準備下個面試才是你正確的做法。
準備是多方面的,俗話說:成功只留給有準備的人
1. 問:什么時候開始準備?你是牛人嗎 ? 不用準備,等獵頭挖 : 老老實實的隨時準備好
2. 問:怎么準備?項目經驗是一部分:面試是離不開的,充分理解自己所做的那部分,能在面試中清楚的表述出自己做了什么,充當什么樣的角色
自己分享知識的地方:比如博客/github,自己總結的會比去看別人的總結效果好不只一丁半點
基礎知識:字符串操作、數組操作、文件操作、正則操作
進階知識:面向對象、數據結構和算法、設計模式、mysql索引、mysql引擎、mysql事務、mysql鎖
高階知識:linux+nginx+mysql+php+redis 優化,只會操作沒用,誰都會,高并發、分布式系統、負載均衡、分庫分表、消息隊列
三、面試干貨 1、某教育機構兩面 mysql事務是什么我說了mysql的四個特性,原子性、一致性、隔離性、持久性,事務可以理解成一次操作要不完成要不失敗。 面試官問了隔離性和鎖的問題,有點忘了,這個真沒答上來 ------------- 可以參考下《Innodb中的事務隔離級別和鎖的關系》https://tech.meituan.com/innodb-lock.htmlphp代碼解釋過程
我說了通過zend引擎解析成opcode,然后轉化成機器識別的代碼。 平時確實沒有去關注這個,失敗失敗,查了資料 鳥哥寫的《深入理解PHP原理之Opcodes》http://www.laruence.com/2008/06/18/221.html百度統計的實現原理
我沒答上來,自己后面查的 ------------- 參考:http://blog.csdn.net/iqzq123/article/details/8877645如何共享session
我說了通過redis存儲session,以達到共享目的,后面查了下方案,還挺多的 ------------- 參考:http://www.cnblogs.com/wangtao_20/p/3395518.html#commentformgit分支管理策略
我寫了master作為主分支,dev作為開發分支,bug_fix分支作為bug分支 面試官說有個臨時bug需要改,而我們在dev上已經開發了很多內容了,我答的是用bug_fix分支拉master代碼, 再合回去,面試官說dev怎么辦,改了相同的模塊會沖突想了下,確實會,然后求教面試官, 面試官說可以用git rebase變基實現,自己見過這個命令,但是沒用過,尷尬restful設計
我說了get、post、put、patch、delete,面試官問他們分別怎么用,畢竟自己做api的 就回答了get是從服務器取資源、post是新建資源、put是 更新完整資源、patch更新部分資源、delete是刪除資源,就過了附加題:論壇的表設計
有點忘了,我答的不是很好,問的是有以下幾個需求,請問需要建幾張表,為什么?主要考的如何合理的設計表, 比如用戶登錄信息表可以怎樣設計?發帖表和回帖表需要怎樣設計?內容字段比較大,怎樣設計更好?哪些字段需要加索引?情景題:一個登錄系統的改進
用偽代碼實現 第一步:PC端只有兩個表單框和注冊按鈕,后端接收參數,再存入數據庫 第二步:添加移動端,需要發送短信 第三步:加入第三方登陸方式,需要發送郵件 第四步:有個兄弟公司,給了我們一張execl表,里面是用戶信息,需要后臺注冊這些用戶,如何修改現有的代碼 第四步:有點忘了,好像是如何進一步優化 這里第三步就答不好了,考察的是邏輯能力和代碼組織能力,設計模式的重要性。自己最滿意的代碼
自己自由發揮,項目中遇到的應該是最好答的了解哪些設計模式,實際用例
我的回答 工廠模式:定義一個標準,用到的類可以按這個標準實現相應功能 單例模式:防止重復實例化,減少資源調用 數據映射:數據庫ORM應用 適配器模式:兼容老數據,多態的應用 面試管問了怎么兼容老數據,考察codereview能力
困了,先到這里
筆試題挺有意思的,比較能考察出我這樣的面試者水平
筆試題的解法見php7.php文件中的24、25、26
將一個二維數組的值首字母大寫題目意思大概是這樣的,印象不深很清了 當時做的時候好像做錯了,現在想了下,思路是獲取鍵值和值,然后雙重循環轉大寫即可。使用正則獲取html里的href屬性的值和a標簽內的值,并以href值為key,a標簽內的值為value存入二維數組中
大概是這樣的結構,我簡化了
考察正則表達式的運用和數組的拼裝,我當時做的稀爛,回去稍微看了下正則,就很容易了。 優化語句查詢test表中數據有500w,字段有id/t_id/type_id/plat_id,語句為select max(t_id) from test where type_id=1 and plat_id=1
考察mysql語句優化,這里主要是優化max函數,max函數會導致全表掃描,效率會很低,可以使用order by加limit進行優化 我是這樣答的 select t_id from test where type_id=1 and plat_id=1 order by t_id limit 1; 當然還可以使用加索引進一步優化速度,這里可以加上(type_id/plat_id)聯合索引。 ------------- 正確做法是給`t_id`加索引,還有(type_id/plat_id)聯合索引,order by 并不能避免全表掃描。找出N個數中的第M大的數
考察算法,貌似是查找? 我當時的想法是先對數組排序,然后索引的N-M的數就是M大的數Ajax跨域請求時,會出現什么問題?如何解決
我的回答:稀爛,跨域出現問題會出現請求拒絕,是出于安全起見,設置Access-Control-Allow-Origin為*即可。哈哈哈naive ------------- 回去搜了下,方案還挺多的。 參考https://dailc.github.io/2017/03/22/ajaxCrossDomainSolution.html如何優化一個CPU運算密集的網站
沒有實踐過對吧,沒關系,會google嗎?會背嗎?腦子能留個大概的原理嗎?自己最滿意的 代碼
自己自由發揮,項目中遇到的應該是最好答的其它
簡歷上的項目詢問,項目中最有難度的地方?如何解決的?
困了,睡
沒有筆試題,純面試題,很注重基礎,比如操作系統
phpunit的用法自己平時沒注意這個東西,所以答的稀爛,問到有沒有連數據庫測,我說有,只是用預期數據與數據庫查出的數據對比測試 面試官問有沒有用過mock 懵逼了,這個概念確實聽過,沒去做過,意思是造假的意思,通過模擬數據庫操作來達到測試目的,還有stub站樁,需要多實踐啊騷年 o_o ------------- 參考:https://phpunit.de/manual/current/zh_cn/test-doubles.htmlredis異步隊列實現細節
看我簡歷中寫用過
我當時用的是laravel中的隊列機制,通過dispatch()觸發任務,php artisan queue:work 開啟后臺進程監視隊列并完成任務 面試官不滿足,問我他的原理,怎樣實現的? 我說用的是list,通過觸發lpush入隊,然后依次rpop出隊處理任務 面試官說這是阻塞的,能不能有高效的做法,我說不清楚,面試官好像說可以把一個list的數據放到多個list中并行處理,zzz。redis中zest如何根據兩個屬性排序,比如id和age
不知道,只知道根據score分值排序,有知道的同學可以留言 請自行google redis zset 多字段排序 ------------- 查了下,有說先自行排序后存入redis https://segmentfault.com/q/1010000004669705你對多進程和多線程還有協程的理解
作為cs專業的phper,大學學的都交給老師了,zzz
進程可以有多個線程,在php中yield可以實現協程,面試官問swoole新版本中自帶協程,你怎么理解? 沒研究過zzz ------------- 進程是正在運行的程序的實例 進程是內核分配資源的最基本的單元 線程是內核執行的最基本的單元 進程內可以包含多個線程 協程的話相當于語言自己實現一個函數調度 參考:http://www.cnblogs.com/lxmhhy/p/6041001.html說說怎么理解現在前端框架中的組件化和模塊化
看到我會react.js問的
我說就比如react里的組件可以理解為一個class類,模塊的意思是一個文件就是一個模塊,有多帶帶的作用域 ------------- 參考:http://xiaodongtongxue.top/2016/05/20/淺談前端自動化%20工程化%20組件化%20模塊化/http協議中get和post的區別,怎么實現的
get是獲取資源,post創建資源 get數據長度有限制,post無限制 get數據在url中安全性差,post不顯示在url中更安全 怎么實現的,懵逼zzz ------------- 參考:https://zhuanlan.zhihu.com/p/22536382最近在看什么書
送命題,沒看過就老實說沒看過好了,不然會xxxx,比如我說了看了《圖解HTTP》,首先問了我上面那道題,然后說你看的書不夠深入,我。。。。4、某眾籌杭州分公司三面 php使用什么mysql連接?
還以為很簡單呢,直接說了mysqli和pdo,mysql棄用了 面試官來了句不是問這個,是問連接池 我對這個概念很懵,就回了是持久連接嗎,可以用mysql_connect() 面試官再問比如laravel默認使用什么mysql連接的 我猜的是pdo吧 他說再想想 我xxxx,就這樣過了 ------------- 回去很郁悶的查了下,默認PDO,我還以為是想考察關于php編譯時mysqlnd這樣的呢 All database work in Laravel is done through the PHP PDO facilities so make sure you have the driver for your particular database of choice installed on your machine before you begin development.場景題:索引的建立規則和explain
有這樣一張表 自增id、名字、昵稱、年齡、客戶類型、創建時間
哪些字段需要建立索引?為什么?
我說年齡、創建時間、客戶類型需要建立索引,where條件經常用到的字段 面試官說客戶類型用的enum枚舉呢,是不是也需要建立索引 我說不清楚 面試官說其實是不需要的,枚舉類型只有幾種,mysql查詢時會分組查,一般寫sql前可以用explain觀察sql語句你用的是php版本是哪個?為什么?php7有什么更新?
很幸運,自己一直用的是php7,因為php7速度有很大提升,也有很多新特性,比如標量類型聲明、返回類型聲明 命名空間、Trait、自動加載都是現代php所需要的 面試官問有自己發不過composer包嗎?他的自動加載原理是怎么樣的? 自己創建過composer包,沒發布,自動加載是通過sql_autoload_register()實現的 面試官說之前都是include引入的對吧,你應該在往前想下 我xxxx 面試官說是當這個文件使用的時候,才會加載進來,以達到自動加載目的。nginx相關
簡歷寫了了解nginx負載均衡和反向代理,你是怎么做的
php-fpm能代理其他端口嗎?除了默認9000
nginx配置php-fpm的時候走的是什么協議?還可以走其他協議嗎?
自己搭建的vps,負載均衡是通過多個端口實現的,反向代理是代理到apache 可以走其他端口,需要配置ini文件,走的http協議,其它協議,不知道 面試官說可以走tcp協議,比如socket看你用過laravel和tp,比較下兩款框架
tp是國人寫的,理念比較陳舊過時 laravel是現在最火的php框架,開源社區活躍,工具也最多,運用了面向對象的思想和很多設計模式,是值得學習和運用的選擇 laravel的源碼看過嗎? 看過,laravel的container容器,還有ioc控制反轉、di依賴注入,通過server provider服務提供者bind綁定實例放入到容器內, 然后通過make解析容器中的某個實例,可以通過facade門面直接靜態調用。 面試官說怎么兼容之前的版本,比如像app那樣,既發布了新的版本,老版本也需要兼容。 我沒做過,我的想法是一通過適配器模式,達到兼容兩者的需求,二可以使用dingo/api多版本控制你未來的發展規劃,1年的,3年的
自由發揮,其實也蠻重要的,往積極方面答總沒錯,比如深入php、擴展技術棧其他
簡歷上的項目詢問,項目中最有難度的地方?如何解決的?
5、某旅游公司兩面套路真多,這面試官很有代入感
為什么離職機智點,按你填表里寫的離職理由答就行,別露餡了,哈哈哈。
如何選擇PHP的?關于目前流行的Java比較?這里機智點答就行,比較的話講兩者的使用場景,比如php適合web開發,java有多種選擇,web和安卓
有沒有系統的培訓過?有沒有看php相關的網絡課程和書籍?我以為是說我有沒有去培訓過,我當然說沒了 我說的是慕課網的優秀課程和《Modern PHP》《PHP核心技術和最佳實踐》《PHP the right way》看你用過laravel和tp, 比較下兩款框架
tp是國人寫的,理念比較陳舊過時 laravel是現在最火的php框架,開源社區活躍,工具也最多,運用了面向對象的思想和很多設計模式,是值得學習和運用的選擇 laravel的源碼看過嗎? 看過,laravel的container容器,還有ioc控制反轉、di依賴注入,通過server provider服務提供者bind綁定實例放入到容器內, 然后通過make解析容器中的某個實例,可以通過facade門面直接靜態調用。php基礎知識**
php面向對象說下 封裝、繼承、多態 多態描述下 當時這里說成了重載了,真是扇自己一巴掌,其實多態是一套接口下面的實現類,注入的是接口類,使用的是實現類,從而實現多態 php的類型有哪些 還真的忘了,掌嘴,沒說完整,說了array數組、string字符串、object對象、resource資源、NULLlaravel包**
dingo/api和jwt-auth是自己搭的嗎?有沒有遇到坑? 當時項目趕,用的集成的,自己搭也是沒問題的 entrust怎么用的?有哪些表? user用戶表、role角色表、perm權限表、role-user用戶角色關聯表、role-perm角色權限關聯表 我們還做了擴展,menu菜單表、menu-perm菜單權限關聯表你未來的發展規劃, 1年的,3年的
自由發揮,其實也蠻重要的,往積極方面答總沒錯,比如深入php、擴展技術棧你可以問我兩個問題?
當場黑人問號,為什么是兩個問題? 面試官:我想看你的關注點 我說了這邊技術團隊是怎樣的+有沒有技術分享+我加入公司將做什么 別問我為什么問了三個,因為我get到了面試官的點,哈哈哈其 他
簡歷上的項目詢問,為什么離職,之前收獲了什么,你期待的公司是怎樣的etc
為什么說套路呢,不然發現這個面試官所有準備的題都是有針對性的,后面他就指出我的基礎不夠扎實,并舉例說一個基礎扎實的人和 一個基礎不扎實的人做同一個東西,基礎扎實的可能很快就會做完且不會出錯,而不扎實的老是需要google且做出的東西會出錯, 也不知道哪里錯了,因為是拿來主義并沒有轉為自己的東西。然后指出我沒有系統學習過php,因為php容易入門, 但是學會它需要花很大功夫。最后說我的規劃還不錯,是加分項,哈哈哈。四、面試總結
面了5家公司,拿了3份offer,自我感覺還良好吧,哈哈哈。最主要的還是心態、面試準備、面試總結、睡眠質量、水
寫的挺流水化的,很多都有點遺忘,畢竟2星期后了,只能記住有意義的題目了。
有心的同學應該會看到我這個noteBook下面的其它知識,希望對你們有些許幫助。
后語:有收獲的話請加顆小星星,沒有收獲的話可以 反對 沒有幫助 舉報三連
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/26175.html
摘要:看到網上各種說達內怎么怎么滴,我以自己親身經歷來講講我在達內的這段經歷吧。事先申明,中國很多城市都有達內,每個城市很可能不只一個達內培訓區,并且達內每一培訓期的情況可能不一樣。我只講我培訓時所在的達內培訓區。這些就是在達內個月基本的生活了。 看到知乎上很多說培訓班出來的人咋個了,甚至還有人說培訓3個月怎么能和大學四年如一日努力學習的人相比。想著我也是培訓出來的,那么就我自身經歷說一說吧...
摘要:考慮了一段時間之后,終于鼓起勇氣找到老板離了職,去了一個北京的某培訓機構,進行了個月的加工,每天學習到凌晨點,新鮮出爐,滿懷信心的去面試。 12年高中畢業后,因高考失誤而停止學業,轉戰維修行業,在經過3月的培訓從小白成長維修大佬,在筆記本維修行業中摸爬滾打了,近3年也算是在行業中小有名氣,日子過得十分悠閑,每當修好一片主板那種喜悅無法表達。 showImg(https://segmen...
摘要:具體的時間線從月中旬,我開始關注牛客網的秋招內推信息。直至十月中下旬結束秋招。之前也寫過自己在廣州找實習的經歷,那次把面試的過程都具體貼出來了。我今年就完美錯過了春招實習經歷。 前言 只有光頭才能變強 離上次發文章已經快兩個月時間了,最近一直忙著秋招的事。今天是2018年10月22日,對于互聯網行業來說,秋招就基本結束了。我這邊的流程也走完了(不再筆試/面試了),所以來寫寫我的秋招經歷...
摘要:本書的地址程序員的簡歷在求職的時候,尤為重要,簡歷就是銷售自己的明信片,一份優秀的簡歷,能為你帶來更多的面試機會。擴展閱讀程序員簡歷應該怎么寫面試時,如何向公司提問 本書的 GitHub 地址:https://github.com/todayqq/PH...程序員的簡歷在求職的時候,尤為重要,簡歷就是銷售自己的明信片,一份優秀的簡歷,能為你帶來更多的面試機會。 我自己寫了不少了簡歷,...
摘要:準備不充分第一輪不過第一家,廣州琶洲一家環境超級好,福利也不錯,主營美顏的公司,這也是我最感遺憾的一次面試機會。主要是第一輪面試第一個問題的種數據類型,只答了一個。 前言 首先需要說明的一點,本人只是一個畢業一年,只有一年工作經驗的普通PHPer,能力有限,這篇文章只是將我這幾周來的感受和體驗分享出來,希望能給許多像我一樣,或者互聯網行業的新手帶來一些收獲,當然哪里說的不對或不足還是希...
閱讀 3431·2021-10-14 09:42
閱讀 2718·2021-09-08 10:44
閱讀 1299·2021-09-02 10:18
閱讀 3600·2021-08-30 09:43
閱讀 2793·2021-07-29 13:49
閱讀 3719·2019-08-29 17:02
閱讀 1576·2019-08-29 15:09
閱讀 1035·2019-08-29 11:01