- 相關推薦
初級PHP程序員面試經驗分享
有些phper們認為天下面試題目一大把,不能考核一個人的真實水平,想知道在網絡上流傳很廣的一部分php工程師面試題目,其實細細研究起來,無論怎樣,能存在就表明其有存在的價值。小編在網上收集了PHP程序員面試技巧之口試題供大家參考,希望對大家有所幫助。
1、PHP的意思,它能干些什么?
PHP是一個基于服務端來創建動態網站的腳本語言,您可以用PHP和HTML生成網站主頁,英文的全稱(Professional Home Pages)
a、WEB開發、實現訂單、網絡通信、在線支付、一切互聯網可以實現的工作。
b、腳本的開發,Shell 腳本、 windows的計劃任務等。
c、軟件的開發,PHP-GTK等第三方的軟件,使用php語法配合其他的語言開發軟件。
2、談談對mvc的認識?
由模型(Model),視圖(View),控制器(Controller)完成的應用程序。 由模型發出要實現的功能到控制器,控制器接收組織功能傳遞給視圖;參考《PHP100視頻教程》43、44、75、76、77講。
3、GD庫是做什么用的?
GD庫提供了一系列用來處理圖片的功能,使用GD庫可以處理圖片,或者生成圖片。 在網站上GD庫通常用來生成縮略圖或者用來對圖片加水印或者對網站數據生成報表。現在常用的GD2功能更強大,可以實現對gif、png圖片的處理。
4、數據類型(int char varchar datetime text)的意思; 請問varchar和char有什么別?
int是數字類型,char固定長度字符串,varchar實際長度字符串,datetime日期時間型,text文本字符串 ,char的場地固定為創建表設置的長度,varchar為可變長度的字符
5、表單中 get與post提交方法的區別?
get是發送請求HTTP協議通過url參數傳遞進行接收 而post是實體數據,可以通過表單提交大量信息.
6、session與cookie的區別?
session:儲存用戶訪問的全局唯一變量,存儲在服務器上的php指定的目錄中的一般用于后臺和安全性比較高的地方。cookie:是存儲在客戶端,對于Cookie來說是存儲在用戶瀏覽器下面的,一般用戶
登陸,負載壓力比較大的地方。可以減輕服務器的負載。
7、echo( ),print( ),print_r( )的區別?
echo是PHP語句, print和print_r是函數,語句沒有返回值,函數可以有返回值print( ) 只能打印出簡單類型變量的值(如int,string) print_r( ) 可以打印出復雜類型變量的值(如數組,對象) Echo 輸出一個或者多個字符串
8、什么是模板技術、能夠使HTML和PHP分離開使用的模板?
模板技術就是使PHP和HTML、CSS、JS 分離,實現更加合理和代碼的部署Smarty ,XTemplate, Template Lite, Easy Template…
9、使用哪些工具進行版本控制?
Cvs 、 Svn 、Vss 參考《PHP100視頻教程》94、95講
10、對于大流量的網站,您采用什么樣的方法來解決訪問量問題?
確認服務器硬件是否足夠支持當前的流量,數據庫讀寫分離,優化數據表, 程序功能規則,禁止外部的盜鏈,控制大文件的下載,使用不同主機分流主要流量 1、PHP程序上可以使用生成靜態文件實現服務數據庫壓力 2、使用PHP緩存技術、或第三方的mamcached 等緩存技術實現服務器壓力參考《PHP100視頻教程》samrty緩存技術、mamcached緩存用法
11、include和require的區別是什么?為避免多次包含同一文件可用什么代替它們?
包含文件不存在或者語法錯誤的時候require是致命的,include不是 require需要放在頭部預先載入,而include放在文件的任何位置隨時載入 還有一對擴展函數:require_once( ) include_once( )
12、mysql_fetch_row( )和mysql_fetch_array之間有什么區別?
mysql_fetch_row 是從結果集取出1行數組,作為枚舉 mysql_fetch_array 是從結果集取出一行數組作為關聯數組,或數字數組,兩者兼得
初級PHP程序員大部分因為工作能力的缺失,難免會缺乏自信,對程序員的崗位認知比較差,那么我就簡單的分享下初級PHP程序員面試時有那些問題,改如何應對?
第一:當你是還處在初級程序員要做好應對專業性的問題
面試的時候可能會遇到專業點的面試官,有時候可能會詢問一下比較抽象的概念,如面向對象的理解、MVC和MVVM設計模式的理解。其它的如session、各種奇奇怪怪的函數(很多根本記不住,基本靠手冊)、簡單的算法等等,如果已經PHP入門,那么應該是沒什么問題的。
第二:綜合性的問題也時不時的考核下
為了考核程序員的綜合素質,有的面試官也不排除可能會出現一些干擾性的問題,多繼承、異步、垃圾回收機制(GC,貌似5.x版本以后才有)等等。
第三:會要求一定的web前端的知識
少量前端的問題幾乎不可避免,LOW一點的問題比如怎么做web按鍵響應這種,進階一點的比如CSS+DIV頁面架構,原生JS、JQuery、AngularJS的應用。不要覺得應聘PHP工程師為什么還要問前端的問題,小公司問這些是因為小型團隊開發Web應用時這些都是必備的功夫,公司在考慮人力成本問題上自然不希望一個本來規模就不大的研發部門還要細分為多個工種,第四:數據庫方面是要有一定準備的
至于數據庫方面,了解基本知識+優化即可,framework會幫你搞定其他的東西。而大公司除了以上技術問題,更可能考量面試者的綜合素質、團隊能力、職業素養等,這些則需要時間的沉淀和充分的準備。
第五:每次面試時要保持一個好的心態
調整心態和形象,良好的第一印象非常非常重要。
PHP面試常見題型
php中傳值與傳引用的區別?什么時候傳值什么時候傳引用?
按值傳遞:函數內對值的任何改變在函數外部都會被忽略
引用傳遞:函數內對值的任何改變在函數外部也能反映出這些修改
應用場景:按值傳遞時,php必須復制值,而按引用傳遞則不需要復制值,故引用傳遞一般用于大字符串或對象。
說幾個你知道的設計模式?
單例模式: 保證一個類僅有一個實例,并提供一個訪問他的全局訪問點例如框架中的數據庫連接
簡單工廠模式: 它具有創建對象的某些方法,可以使用工廠類創建對象,而不直接使用 new。例如初始化數據庫的時候會用到,比如MySQL,MSSQL
策略模式: 針對一組算法,將每一個算法封裝到具有共同接口的獨立的類中,例如進入個人主頁時,根據瀏覽者的不同,給予不同的顯示與操作
注冊模式: 提供了在程序中有條理的存放并管理一組全局對象 (object),例如ZF框架中的Zend_Registry::set
適配器模式: 將不同接口適配成統一的API接口,例如數據操作有mysql、mysqli、pdo等,可利用適配器模式統一接口
觀察者模式: 一個對象通過添加一個方法使本身變得可觀察。當可觀察的對象更改時,它會將消息發送到已注冊的觀察者。例如實現實現消息推送
裝飾器模式: 不修改原類代碼和繼承的情況下動態擴展類的功能,例如框架的每個Controller文件會提供before和after方法
迭代器模式: 提供一個方法順序訪問一個聚合對象中各個元素,在PHP中將繼承 Iterator 類
原型模式: 實現了一個原型接口,該接口用于創建當前對象的克隆。當直接創建對象的代價比較大時,則采用這種模式。例如,一個對象需要在一個高代價的數據庫操作之后被創建。
echo,print( ),print_r( ),printf( ),sprintf( ),var_dump( )有什么區別?
echo :是語句不是函數,沒有返回值,可輸出多個變量值,不需要圓括號。不能輸出數組和對象,只能打印簡單類型(如int,string)
print :是語句不是函數,有返回值 1 ,只能輸出一個變量,不需要圓括號。不能輸出數組和對象,只能打印簡單類型(如int,string)。
print_r :是函數,可以打印復合類型,例如:stirng、int、float、array、object等,輸出array時會用結構表示,而且可以通過print_r($str,true)來使print_r不輸出而返回print_r處理后的值
printf :是函數,把文字格式化以后輸出(參看C語言)
sprintf :是函數,跟printf相似,但不打印,而是返回格式化后的文字,其他的與printf一樣。
var_dump :函數,輸出變量的內容、類型或字符串的內容、類型、長度。常用來調試。
MySQL數據庫存儲引擎有哪些?
MyISAM:成熟、穩定、易于管理,快速讀取。一些功能不支持(事務等),表級鎖。
InnoDB:支持事務、外鍵等特性、數據行鎖定。空間占用大,不支持全文索引等。
POST和GET有什么區別?
GET是從服務器上獲取數據,POST是向服務器傳送數據
GET是通過發送HTTP協議通過URl參數傳遞進行接收,而POST是實體數據,通過表單提交
GET傳送的數據量較小,不能大于2KB。POST傳送的數據量較大,一般被默認為不受限制。
GET安全性非常低,POST安全性較高
【初級PHP程序員面試經驗分享】相關文章:
php程序員11-08
php取整方式分享12-02
php防止SQL注入的方法分享03-30
PHP延遲靜態綁定示例分享03-03
優秀的PHP程序員是怎樣練成的03-19
php面試題03-18
初級會計職稱考試經驗分享12-03
PHP程序員常見的40個陋習03-20
最新PHP面試題11-17
PHP面試題及答案03-29