想了解IT界的那些事兒,請關注萌新程式猿!!!
首先總結一下,既然是php程式設計師,下面的知識是最基本的:
1.PHP的魔術變數都有什麼?
2.PHP超級全域性變數(9個)
3.PHP魔術函式(13個)
4.前端後端的常用開發框架都有哪些?
前端:(1) CSS: Bootstrap、EasyUI
(2)JavaScript:VUE.js、angular.Js、jQuery.js。
後端:thinkPHP、Yii、Laravel、swoole、workerman(當時只想到這幾個)、。
5.如何檢視防火牆開放的埠號service iptables status
6.檢視防火牆特定的埠號,例如80埠的狀態?netstat -an | grep 80 檢視80埠被什麼佔用netstat -tunlp | grep 80lsof -i:80
7.Linux系統中System程序佔用大量CPU,可能的原因?(1) 進入了一個死迴圈無法跳出來;(2) 也許是一直在等待一個訊號,如從dbus上讀取一個使用者需要的資訊; #dbus是一個為應用程式間通訊的訊息匯流排系統, 用於程序之間的通訊。(3) 有可能是程式在對一個非常大的內容進行分析和處理;(4) 有可能是程式要處理的問題比較多,所以在一個個慢慢的執行。
8.說一下HTTP2.0與HTTP1.0的根本區別。
9.InnoDB和MyISAM的區別是什麼,二者分別應用與什麼方面?
10.用盡量多的方法說明如何提高一個網頁的訪問速度。
11.請設計一個通訊協議,實現與攝像頭之間的通訊,要注意協議的安全性和可擴充套件性。
12.如果一個公司有幾十個系統,每一個系統都需要登入,現在請你設計一個系統,可以實現每一個系統的單點登入。
1、用PHP打印出前一天的時間格式是2017-9-5 15:30:21
echo date(‘Y-m-d H:i:s’, strtotime(‘-1 day’));
2、echo(),print(),print_r()的區別
echo是PHP語句, print和print_r是函式,語句沒有返回值,函式可以有返回值(即便沒有用)
print只能打印出簡單型別變數的值(如int,string)
print_r可以打印出複雜型別變數的值(如陣列,物件)
echo — 輸出一個或者多個字串
3、能夠使HTML和PHP分離開使用的模板
smarty,Heyes Template Class等
5、使用哪些工具進行版本控制?
VS Server on Apache作服務端,WinCVS作客戶端;Subversion on Apache/DAV 做服務端,TortoiseSVN做客戶端,或者Subclipse做客戶端.
6、如何實現字串翻轉?
strrev()
7、最佳化MYSQL資料庫的方法。
(1).選取最適用的欄位屬性,應該儘量把欄位設定為NOT NULL,這樣在將來執行查詢的時候,資料庫不用去比較NULL值。
(2).使用連線(JOIN)來代替子查詢(Sub-Queries)
(3).使用聯合(UNION)來代替手動建立的臨時表
(4).儘量少使用 LIKE 關鍵字和萬用字元
(5).使用事務和外來鍵
8、PHP的意思
Hypertext Preprocessor
9、MYSQL取得當前時間的函式是?,格式化日期的函式是
now(), DATE_FORMAT(date,format)
10、實現中文字串擷取無亂碼的方法。
mb_substr()
11、您是否用過版本控制軟體? 如果有您用的版本控制軟體的名字是?
TortoiseSVN-1.2.6 svn-1.2.3
12、您是否用過模板引擎? 如果有您用的模板引擎的名字是?
smarty
13、請簡單闡述您最得意的開發之作
14、對於大流量的網站,您採用什麼樣的方法來解決訪問量問題?
首先,確認伺服器硬體是否足夠支援當前的流量
其次,最佳化資料庫訪問。
第三,禁止外部的盜鏈。
第四,控制大檔案的下載。
第五,使用不同主機分流主要流量
第六,使用流量分析統計軟體。
—————————————————————–
15、用PHP寫出顯示客戶端IP與伺服器IP的程式碼
16、語句include和require的區別是什麼?為避免多次包含同一檔案,可用(?)語句代替它們?
require()和include()除了怎樣處理失敗之外在各
方面都完全一樣。include()產生一個警告而require()則導致一個致命錯誤。
換句話說,如果你想在丟失檔案時停止處理頁面,用require()。include() 就不是這樣,指令碼會繼續執行。
require()無論如何都會包含檔案,而include()可以有選擇地包含.
代替用
include_once
require_once
17、如何修改SESSION的生存時間.
18、有一個網頁地址, 比如PHP開發資源網主頁: ,如何得到它的內容?
19、在HTTP 1.0中,狀態碼401的含義是(?);如果返回“找不到檔案”的提示,則可用 header 函式,其語句為(?);
未授權(Unauthorized)
想了解IT界的那些事兒,請關注萌新程式猿!!!
)中整理過此類的知識,因此特地奉上。首先總結一下,既然是php程式設計師,下面的知識是最基本的:
你需要了解PHP的各類基礎知識,php語法、面向物件、設計模式等等,其次你需要懂得PHP的開發框架的知識,tp、laveral、yii等,再次你需要了解前端的知識,瞭解資料庫(mysql等)的知識,瞭解php執行的伺服器環境nginx、apache等,更進一步你需要了解redis、快取之類,最後你需要掌握web開發安全的相關知識,比如sql注入、xss等。寫介面,很多公司是前後端完全分離。個人面試整理1.PHP的魔術變數都有什麼?
__LINE__ 檔案中的當前行號。 __FILE__ 檔案的完整路徑和檔名。如果用在被包含檔案中,則返回被包含的檔名。 __DIR__ 檔案所在的目錄。如果用在被包括檔案中,則返回被包括的檔案所在的目錄。 __FUNCTION__ 常量返回該函式被定義時的名字 __CLASS__ 常量返回該類被定義時的名字(區分大小寫)。 __METHOD__ 類的方法名(PHP 5.0.0 新加)。返回該方法被定義時的名字(區分大小寫)。 __NAMESPACE__ 當前名稱空間的名稱(區分大小寫)。此常量是在編譯時定義。2.PHP超級全域性變數(9個)
$GLOBALS 儲存全域性作用域中的變數 $_SERVER 獲取伺服器相關資訊 $_REQUEST 獲取POST和GET請求的引數 $_POST 獲取表單的POST請求引數 $_GET 獲取表單的GET請求引數 $_FILES 獲取上傳檔案的的變數 $_ENV 獲取伺服器端環境變數的陣列 $_COOKIE 瀏覽器cookie的操作 設定cookie:setcookie(name, value, expire, path, domain); 獲取cookie:$_COOKIE[“user”]; 刪除cookie:setcookie(“user”, “”, time()-3600);//設定過期時間 $_SESSION 服務端session的操作 使用session前一定要session_start()啟動session 儲存session:$_SESSION[“name”]=”King”;//陣列操作 銷燬session:unset($_SESSION[“name”]);//銷燬一個 session_destroy()和unset($_SESSION);//銷燬所有的session3.PHP魔術函式(13個)
__construct() 例項化物件時被呼叫,當__construct和以類名為函式名的函式同時存在時,__construct將被呼叫,另一個不被呼叫。 __destruct() 當刪除一個物件或物件操作終止時被呼叫。 __call() 物件呼叫某個方法,若方法存在,則直接呼叫;若不存在,則會去呼叫__call函式。 __get() 讀取一個物件的屬性時,若屬性存在,則直接返回屬性值;若不存在,則會呼叫__get函式。 __set() 設定一個物件的屬性時,若屬性存在,則直接賦值;若不存在,則會呼叫__set函式。 __toString() 列印一個物件的時被呼叫。如echo $obj;或print $obj; __clone() 克隆物件時被呼叫。如:$t=new Test();$t1=clone $t; __sleep() serialize之前被呼叫。若物件比較大,想刪減一點東東再序列化,可考慮一下此函式。 __wakeup() unserialize時被呼叫,做些物件的初始化工作。 __isset() 檢測一個物件的屬性是否存在時被呼叫。如:isset($c->name)。 __unset() unset一個物件的屬性時被呼叫。如:unset($c->name)。 __set_state() 呼叫var_export時,被呼叫。用__set_state的返回值做為var_export的返回值。 __autoload() 例項化一個物件時,如果對應的類不存在,則該方法被呼叫。4.前端後端的常用開發框架都有哪些?
前端:(1) CSS: Bootstrap、EasyUI
(2)JavaScript:VUE.js、angular.Js、jQuery.js。
後端:thinkPHP、Yii、Laravel、swoole、workerman(當時只想到這幾個)、。
5.如何檢視防火牆開放的埠號service iptables status
6.檢視防火牆特定的埠號,例如80埠的狀態?netstat -an | grep 80 檢視80埠被什麼佔用netstat -tunlp | grep 80lsof -i:80
7.Linux系統中System程序佔用大量CPU,可能的原因?(1) 進入了一個死迴圈無法跳出來;(2) 也許是一直在等待一個訊號,如從dbus上讀取一個使用者需要的資訊; #dbus是一個為應用程式間通訊的訊息匯流排系統, 用於程序之間的通訊。(3) 有可能是程式在對一個非常大的內容進行分析和處理;(4) 有可能是程式要處理的問題比較多,所以在一個個慢慢的執行。
8.說一下HTTP2.0與HTTP1.0的根本區別。
9.InnoDB和MyISAM的區別是什麼,二者分別應用與什麼方面?
10.用盡量多的方法說明如何提高一個網頁的訪問速度。
11.請設計一個通訊協議,實現與攝像頭之間的通訊,要注意協議的安全性和可擴充套件性。
12.如果一個公司有幾十個系統,每一個系統都需要登入,現在請你設計一個系統,可以實現每一個系統的單點登入。
其他整理1、用PHP打印出前一天的時間格式是2017-9-5 15:30:21
echo date(‘Y-m-d H:i:s’, strtotime(‘-1 day’));
2、echo(),print(),print_r()的區別
echo是PHP語句, print和print_r是函式,語句沒有返回值,函式可以有返回值(即便沒有用)
print只能打印出簡單型別變數的值(如int,string)
print_r可以打印出複雜型別變數的值(如陣列,物件)
echo — 輸出一個或者多個字串
3、能夠使HTML和PHP分離開使用的模板
smarty,Heyes Template Class等
5、使用哪些工具進行版本控制?
VS Server on Apache作服務端,WinCVS作客戶端;Subversion on Apache/DAV 做服務端,TortoiseSVN做客戶端,或者Subclipse做客戶端.
6、如何實現字串翻轉?
strrev()
7、最佳化MYSQL資料庫的方法。
(1).選取最適用的欄位屬性,應該儘量把欄位設定為NOT NULL,這樣在將來執行查詢的時候,資料庫不用去比較NULL值。
(2).使用連線(JOIN)來代替子查詢(Sub-Queries)
(3).使用聯合(UNION)來代替手動建立的臨時表
(4).儘量少使用 LIKE 關鍵字和萬用字元
(5).使用事務和外來鍵
8、PHP的意思
Hypertext Preprocessor
9、MYSQL取得當前時間的函式是?,格式化日期的函式是
now(), DATE_FORMAT(date,format)
10、實現中文字串擷取無亂碼的方法。
mb_substr()
11、您是否用過版本控制軟體? 如果有您用的版本控制軟體的名字是?
TortoiseSVN-1.2.6 svn-1.2.3
12、您是否用過模板引擎? 如果有您用的模板引擎的名字是?
smarty
13、請簡單闡述您最得意的開發之作
14、對於大流量的網站,您採用什麼樣的方法來解決訪問量問題?
首先,確認伺服器硬體是否足夠支援當前的流量
其次,最佳化資料庫訪問。
第三,禁止外部的盜鏈。
第四,控制大檔案的下載。
第五,使用不同主機分流主要流量
第六,使用流量分析統計軟體。
—————————————————————–
15、用PHP寫出顯示客戶端IP與伺服器IP的程式碼
16、語句include和require的區別是什麼?為避免多次包含同一檔案,可用(?)語句代替它們?
require()和include()除了怎樣處理失敗之外在各
方面都完全一樣。include()產生一個警告而require()則導致一個致命錯誤。
換句話說,如果你想在丟失檔案時停止處理頁面,用require()。include() 就不是這樣,指令碼會繼續執行。
require()無論如何都會包含檔案,而include()可以有選擇地包含.
代替用
include_once
require_once
17、如何修改SESSION的生存時間.
18、有一個網頁地址, 比如PHP開發資源網主頁: ,如何得到它的內容?
19、在HTTP 1.0中,狀態碼401的含義是(?);如果返回“找不到檔案”的提示,則可用 header 函式,其語句為(?);
未授權(Unauthorized)