「php」分享PHP外包公司常見的幾道面試題

分享PHP外包公司常見的幾道面試題。

1.完整的商城系統包含哪些模塊?

商品、促銷、訂單、會員模塊、權限模塊、報表、廣告。

2.PHP運行模式:CGI、FAST-CGI、CLI、ISAPI、APACHE模塊。

不同的web服務器使用的是不同的運行模式來運行php。

Apache :apache

NGINX:FAST-CGI

IIS:ISAPI

CLI模式:不是在web服務器裡運行的,而是在命令行裡運行。

CGI模式:通用網關接口。

3.php線程安全與非線程安全是什麼?區別?怎麼選擇?

如果程序以多線程的方式運行,多線程的特點,數據共享,使用鎖機制的話就可以解決併發操作一共資源時出現的混亂問題,如果使用了鎖機制就是線程安全,否則就是線程不安全。

Fast-cgi底層是多進程的,無論線程安不安全都沒影響。結論:如果一個程序是以多線程的方式運行的,就要考慮線程安全,否則不要。

Linux下不用考慮線程安全,因為它是多進程的。

線程:多個線程之間變量可以共享。

進程:多個進程內存地址完全獨立,互不影響。

「php」分享PHP外包公司常見的幾道面試題

4.php.ini safe_mode配置影響?

safe_mode就是安全模式,如果php以安全模式運行,那麼有些函數就可能失效。默認就是關閉的。例如:unlink,mkdir,rmdir,mysql_*等等。

5.http協議無狀態是什麼意思?

每次發送數據或接收數據完成後,連接就斷開了。不會保持狀態。一直保持連接的就是有狀態的,比如qq,網遊等等。

6.php數據持久層 ?ORM單例模式?

php數據持久層就是指把數據寫入到數據庫或文件裡,存儲到設備裡,持久化。

ORM(對象、關係、模型),就是model,一個模型就是映射到一張數據表。只要操作模型,就能操作數據表。很多mvc的框架就是orm模式。

單例模式就是說一個類只能創建一個對象。

「php」分享PHP外包公司常見的幾道面試題

7.strcasecmp-二進制安全比較字符串,什麼是二進制安全?

二進制不安全:主要是指字符串,有些字符串轉換成二進制後會有特殊的意義,不再是原來字符串的意義。

二進制安全:怎麼轉換都是安全的。

8.正則表達式POSIX和PCRE是什麼?

是兩種規範的正則表達式。對應php的兩套函數。

PCRE:preg_xxx 現在都用這種,性能更好

POSIX:ereg_xxx

9.單點登錄實現原理?

在一個程序中登陸成功後,通過ajax通知其它的項目,請求一個數據通知對方也登陸。如果發數據包?Js[ajax],php的三種數據採集發送。


分享到:


相關文章: