導航:首頁 > 編程語言 > php筆試試題

php筆試試題

發布時間:2024-12-01 02:09:21

php程序員上機面試題(並附答案,回答好的加分)

題集網上有一套php的面試題:http://www.tijee.com/tags/46-php-face-questions/posts

② 2022年PHP面試題大全(值得收藏)

求職 PHP 相關崗位,面試與筆試中的表現不僅考驗口語能力,更關鍵的是技術實力。掌握最新的 PHP 面試題將大大提高求職效率。以下是一些精選的面試題,旨在幫助你順利進入理想公司,獲得理想薪酬:



更多內容,包括 MySQL 存儲引擎的區別和網站流量管理策略,可以點擊相關鏈接獲取 PDF 版本的面試題大全。

③ PHP 考試系統怎麼生成隨機試題,求代碼寫法.以選擇題為例說明一下就行,假如從10個里抽3個,怎麼在提交之

很簡單,給你一個思路
你在資料庫裡面放10個題,
id questions options right_answer
1 china 是指哪個國家? A:中國;B:日本;C:美國 A

... ................ ............. ...
這樣你從資料庫中讀取全部數據出來;
為了實現隨機性,你可以用一個數組
<?php

$query=$mysql_query("select * from '表名'");
$results=$mysql_fetch_row($query);
$rand=array_rand($results,3);//取出隨機的三個問題,注意這里取得是三個鍵值
$question=array($result[$rand[0]],$result[$rand[1]],$result[$rand[2]]);//將取出的三個問題放進一個數組中
?>

<form action="目標地址(此處用本頁面地址)" method="post">

<?php

foreach($question as $values)
{
$options=explode(";",$values['options']);//用「;」將選項分割存進數組

echo $values['questions'];//顯示題目
for($i=0;$i<count($options);$i++){
echo "<input type='radio' name=".$choice[$valest['id']]." value='A' >".$options[i]." /><br>";//輸出選項
}
echo "----------------------------------------";//題目之間分隔符

}
//下面的代碼是你接受form表單的頁面,如果是本頁面就直接接著上面的代碼寫
if(!empty($_POST[$choice]))
{
foreach($_POST[$choice] as $key=> $data)

{
$question_id=$key;

$user_choice=$data;
if(mysql_query("select * from '表名' where id=".$key."and right_answer='".$data."'"))
{
//答案對如何處理。。。。
}
else
{
//答案不對處理辦法。。。。

}

}

}

?>

</form>

隨手現寫的代碼,可能你裡面有錯誤,但是思路你可以借鑒下~

④ PHP中高級面試題 – 第一天

一、寫一個函數,獲取一篇文章內容中的全部圖片,並下載

二、什麼是 CSRF 攻擊?XSS 攻擊?如何防範?
CSRF:跨站請求偽造,可以通過通過判斷來源和加 Token 的方式來防範。

XSS:跨站腳本攻擊,可以通過對內容轉義和過濾來防範,還有 CSP

三、應用中我們經常會遇到在 user 表隨機調取 10 條數據來展示的情況,簡述你如何實現該功能。

四、MYSQL 中主鍵與唯一索引的區別

主鍵:絕對不能有空值。唯一索引:可以有空值

五、http 與 https 的主要區別

關鍵是 S 上。簡而言之,https 建立連接後要先把 SSL 的證書發下去,有了公鑰和私鑰,就可以解密了。

六、兩台 mysql 伺服器,其中一台掛了,怎麼讓業務端無感切換,並保證正常情況下講台伺服器的數據是一致的

不是核心業務的話,先停寫,把備機拉起來,查看兩台機器的日誌,進行數據補償,開寫。

如果是核心業務的話,現在所有的操作都在正常的狀態機器上。把好的這台機器的備機拉起來,當主機。

以上全是應急操作。實際上資料庫的容災設計要復雜得多。

面試官要是問你,備機的數據不一致怎麼辦,你要勇敢懟回去,你們每秒多少寫入操作。按照百萬級表,每秒 1000 的寫入效率,正常的設計是,分布在 2 台機器上每台 500。這個級別的數據同步,出現差異的概率 可以忽略不計的。有一台出現問題,另一台也可以抗住。

(正常的操作,還是先停寫,等數據一致,切換,開寫。我們公司搞這些切換都是在凌晨 4.00 左右,核心業務的每秒寫操作,只有十幾個。前後耽擱不到 20 秒)。

七、10 瓶水,其中一瓶有毒,小白鼠喝完有毒的水之後,會在 24 小時後死亡,問:最少用幾只小白鼠可以在 24 小時後找到具體是哪一瓶水有毒。

答案:四隻
二進制問題。薛定諤的老鼠。

一隻老鼠有兩個狀態,死活,對應 01。假設老鼠的個數為 A,則有 2^A>=10; A=4;

思路很簡單,十瓶葯編號:0,1,10,11….1001;

0 不喝。第一隻老鼠喝所有個位是 1 的:13579,第二隻喝十位是 1 的,第三隻和百位是 1 的,第四隻喝千位是 1 的。

24 小時後,看下死了的是 1,活著的是 0。按老鼠的順序乖乖站好…… 假如第一隻和第三隻死了,那就是 0101,就是 5 有問題。

⑤ 誰能告訴我一些PHP開發常見的面試題呢

1、表單提交get和post有何區別?
答:get的方式是把數據在地址欄中發送,get傳送的數據量較小,不能大於2KB。post傳送的數據量較大,一般被默認為不受限制。但理論上,IIS4中最大量為80KB,IIS5中為100KB。
2、用PHP列印出前一天的時間格式是2006-5-1022:21:21

復制代碼代碼示例:
echo date("Y-m-dH:i:s",time()-(3600*24));或echodate("Y-m-d H:i:s",strtotime("-1 day"));

3、php中include和require的區別?
這兩種結構除了在如何處理失敗之外完全一樣。include()產生一個警告而 require() 則導致一個致命錯誤。換句話說,如果你想在遇到丟失文件時停止處理頁面就用 require()。include() 就不是這樣,腳本會繼續運行。

4、echo(),print(),print_r()的區別
echo可以接多個參數,print只能接一個參數,它們都是PHP的語言結構,print_r是遞規列印,用來列印數組或對象

5、能夠使HTML和PHP分離開使用的模板
smarty,phplib,SmartTemplate

6、如何理解MVC模式?
首先說一下框架,框架:就是別人把一些底層,常用操作.比如數據操作(增,刪,改,查)寫好.你來直接用.其它的功能要自己來做。
MVC:設計模式,M模型,V顯示,C控制.現在許多框架都是基於MVC來做的把邏輯和顯示分開.比如你要換頁面,只需要改V裡面的東西並不需要再去變動程序!(詳細的東西可以上網上查一下)

7、如何實現PHP、JSP交互?
PHP提供了支持JAVA的類庫文件,或者通過HTTP協議來交互數據
8、使用哪些工具進行版本控制?
VSS,CVS,SVN
http://www.jbxue.com/php/25446.html

⑥ 2022年PHP面試題附答案(實戰經驗)

1、面向對象是一種程序設計方法,它提升了代碼的重用性和清晰度。主要特徵包括封裝、繼承和多態性。

2、SESSION和COOKIE的區別在於,SESSION存儲在伺服器端,而COOKIE保存在客戶端。SESSION相對安全,因為可以通過某些手段修改COOKIE,而SESSION依賴於COOKIE傳遞信息。禁用COOKIE後,SESSION無法正常工作。然而,SESSION需要伺服器資源讀取,且文件路徑由php配置文件指定,文件是公有的。

3、HTTP狀態碼302表示臨時重定向成功,即請求內容已轉移到新位置。403表示禁止訪問,500表示伺服器內部錯誤。

4、數據類型包括:整數(int)、定長字元(char)、變長字元(varchar)、日期時間型(datetime)和文本型(text)。VARCHAR與CHAR的區別在於,CHAR是固定長度的字元類型,而VARCHAR是可變長度的,能更有效地節省空間。然而,處理VARCHAR類型時,伺服器需要進行額外的操作,導致效率較低。

5、MyISAM和InnoDB之間的基本區別在於,MyISAM不支持事務處理,表鎖,且易產生碎片,但讀寫速度較快,適合頻繁查詢應用。而InnoDB支持事務,行鎖,有崩潰恢復能力,適合插入和更新操作較多的應用,盡管空間佔用更大,不支持全文索引。

6、isset()函數用於判斷變數是否存在,可以同時檢查多個變數,而empty()則判斷變數是否為空。

7、在PHP中,傳值和傳引用的區別在於,按值傳遞時,函數范圍內的值更改不會影響外部變數;按引用傳遞時,函數范圍內的值更改會影響到外部變數。

8、error_reporting函數用於設置PHP的報錯級別,並返回當前級別。

9、緩存技術是將動態內容緩存在文件中,在一定時間內訪問動態頁面時直接調用緩存文件,避免重新訪問資料庫。

10、MVC結構分別指業務模型、視圖和控制器,通過控制器調用模型處理數據,並將數據映射到視圖層顯示,以實現代碼重用性和M和V的代碼分離。

11、AJAX是一種非同步傳輸技術,能夠通過JavaScript實現局部刷新,減輕伺服器壓力,提高用戶體驗。

12、提高程序運行效率的方法包括優化SQL語句、創建索引、生成緩存等。

13、對於大流量網站,採用緩存、負載均衡、CDN存儲加速、減少資料庫使用、查看瓶頸及反向代理等方法解決訪問量問題。

14、include和require的區別在於,include在失敗時產生警告,而require則產生錯誤中斷。require_once和include_once可以避免重復包含同一文件。

15、foo()和@foo()的區別在於@代表忽略所有警告。

16、PHP的垃圾收集機制回收不再使用的變數容器,確保內存的有效使用。

17、實現PHP安全的最大化,避免SQL注入和XSS攻擊,需遵循基本原則:不展示伺服器或程序細節,不相信用戶提交的數據。

18、echo用於簡單輸出,print是函數且有返回值,print_r和var_mp用於列印數組和對象,同時提供數據類型信息。

19、Smarty模板速度快,支持編譯型、緩存技術、插件機制和強大的表現邏輯。

20、PHP通過header函數實現頁面跳轉,可以設置跳轉的網址或延遲時間。還可以利用meta元素實現跳轉。

21、將GB2312格式的字元串轉換為UTF-8格式,可以使用iconv函數。

22、在數據入庫前,使用htmlspecialchars或htmlentities函數處理用戶輸入內容,避免SQL注入和XSS攻擊。

23、CSRF攻擊是跨站請求偽造,XSS攻擊是跨站腳本攻擊,防範策略包括合理規范API請求、使用token驗證和過濾輸入。

24、在開發中,注意防遠程提交、防SQL注入、防止注冊機灌水和使用驗證碼等安全機制。

25、JSON是一種輕量級數據交換格式,json數據格式固定,適用於多種語言的數據傳遞。

26、事務是一系列資料庫操作的邏輯單位,具有原子性、一致性、隔離性和持久性。

27、鎖是實現資料庫並發控制的技術,確保資料庫狀態的一致性。

28、索引加速數據檢索,提高查詢效率,但也減慢數據錄入速度並增加資料庫尺寸。

29、三個範式的定義涉及屬性的原子性、記錄的唯一性及欄位的冗餘性。

30、主鍵、外鍵和索引的區別在於定義、作用和個數。

31、private、protected和public修飾符分別代表私有、保護和公共訪問許可權。

32、堆和棧的區別在於堆是動態分配的內存空間,而棧是靜態分配且大小明確。

33、魔術方法包括實例化、析構、屬性設置、屬性獲取、條件檢查、序列化、克隆等。

34、$this、self和parent分別代表當前對象、當前類和當前類的父類。

35、::操作符用於調用類常量和靜態方法。

36、__autoload()函數在類實例化時自動載入類文件。

37、高並發網站解決方案包括前端優化、服務端優化、資料庫優化和Web伺服器優化。

38、PHP遍歷文件夾下所有文件的方法,可以通過遞歸函數實現。

39、在命令行中運行php程序的步驟包括顯示當前PHP版本、載入有效模塊、輸出phpinfo、傳遞參數等。

40、檢查PHP腳本和資料庫SQL效率的方法包括代碼計時、xdebug分析、系統調用跟蹤等。

41、大流量網站訪問量統計問題的解決方案包括確認伺服器負載、優化資料庫訪問、防止盜鏈、控制文件下載等。

42、MySQL資料庫優化策略涉及資料庫結構設計、欄位類型選擇、添加索引、主從讀寫分離、分表等。

43、MyISAM和InnoDB存儲引擎的區別包括事務支持、性能、索引類型等。

閱讀全文

與php筆試試題相關的資料

熱點內容
連漲啟動源碼 瀏覽:161
小奔運動app網路異常怎麼回事 瀏覽:449
php開啟壓縮 瀏覽:303
伺服器主機如何設置啟動 瀏覽:284
linux配置網路命令 瀏覽:774
一張照片怎麼製作視頻app 瀏覽:908
pythonweb和php 瀏覽:976
電腦伺服器地址ip地址 瀏覽:823
對矩陣壓縮是為了 瀏覽:910
setfacl命令 瀏覽:172
linux子系統中斷 瀏覽:342
linux查看進程ps 瀏覽:224
知識庫系統php 瀏覽:625
小波變換壓縮圖像python 瀏覽:151
阿里巴巴程序員怎麼月入百萬 瀏覽:173
如何使用國外伺服器 瀏覽:188
燃燈者pdf 瀏覽:468
編譯器用數學嗎 瀏覽:7
圖形化apk反編譯工具 瀏覽:48
考勤表加密怎麼辦 瀏覽:738