1. 程式人生 > >自己總結的web前端面試題之php

自己總結的web前端面試題之php

1.表單中 get與post提交方法的區別?
:get是傳送請求HTTP協議通過url引數傳遞進行接收,而post是實體資料,可以通過表單提交大量資訊.

2.session與cookie的區別?
:session:儲存使用者訪問的全域性唯一變數,儲存在伺服器上的PHP指定的目錄中的(session_dir)的位置進行的存放
   cookie:用來儲存連續訪問一個頁面時所使用,是儲存在客戶端,對於Cookie來說是儲存在使用者WIN的Temp目錄中的。 
   兩者都可通過時間來設定時間長短

3.、用PHP打印出前一天的時間格式是2006-5-10 22:21:21
:echo date('Y-m-d H:i:s', strtotime('-1 days')); 

4.echo(),print(),print_r()的區別
:echo是PHP語句, print和print_r是函式,語句沒有返回值,函式可以有返回值(即便沒有用)  
   print()    只能打印出簡單型別變數的值(如int,string)  
   print_r() 可以打印出複雜型別變數的值(如陣列,物件)  
   echo     輸出一個或者多個字串

5.使用哪些工具進行版本控制?
:cvs,svn,vss;

6.如何實現字串翻轉?
:echo strrev($a);

7.對於大流量的網站,您採用什麼樣的方法來解決訪問量問題?(4分)
:確認伺服器硬體是否足夠支援當前的流量,資料庫讀寫分離,優化資料表,
   程式功能規則,禁止外部的盜鏈,控制大檔案的下載,使用不同主機分流主要流量

8.如何修改SESSION的生存時間(1分).
:方法1:將php.ini中的session.gc_maxlifetime設定為9999重啟apache
   方法2:$savePath = "./session_save_dir/";
         $lifeTime = 小時 * 秒;
         session_save_path($savePath);
         session_set_cookie_params($lifeTime);
         session_start();
   方法3:setcookie() and session_set_cookie_params($lifeTime);

9.談談asp,php,jsp的優缺點
:ASP全名Active Server Pages,是一個WEB伺服器端的開發環境, 利用它可以產生和執行動態的、互動的、高效能的WEB服務應用程式。ASP採用指令碼語言VB Script(Java script
)作為自己的開發語言。 
PHP是一種跨平臺的伺服器端的嵌入式指令碼語言. 它大量地借用C,Java和Perl語言的語法, 並耦合PHP自己的特性,使WEB開發者能夠快速地寫出動態生成頁面.它支援目前絕大多數資料庫。還有一點,PHP是完全免費的,不用花錢,你可以從PHP官方站點(http://www.php.net)自由下載。而且你可以不受限制地獲得原始碼,甚至可以從中加進你自己需要的特色。 
JSP 是Sun公司推出的新一代站點開發語言,他完全解決了目前ASP,PHP的一個通病--指令碼級執行(據說PHP4 也已經在Zend 的支援下,實現編譯執行).Sun 公司藉助自己在Java 上的不凡造詣,將Java 從Java 應用程式 和 Java Applet 之外,又有新的碩果,就是Jsp--Java Server Page。Jsp 可以在Serverlet和JavaBean的支援下,完成功能強大的站點程式。 
  三者都提供在 HTML 程式碼中混合某種程式程式碼、由語言引擎解釋執行程式程式碼的能力。
JSP程式碼被編譯成 Servlet 並由 Java 虛擬機器解釋執行,這種編譯操作僅在對 JSP 頁面的第一次請求時發生。在 ASP 、PHP、JSP 環境下, HTML 程式碼主要負責描述資訊的顯示樣式,而程式程式碼則用來描述處理邏輯。普通的 HTML 頁面只依賴於 Web 伺服器,而 ASP 、PHP、JSP 頁面需要附加的語言引擎分析和執行程式程式碼。程式程式碼的執行結果被重新嵌入到 HTML 程式碼中,然後一起傳送給瀏覽器。 ASP 、PHP、 JSP三者都是面向 Web 伺服器的技術,客戶端瀏覽器不需要任何附加的軟體支援。

10.談談對mvc的認識

:由模型(model),檢視(view),控制器(controller)完成的應用程式
   由模型發出要實現的功能到控制器,控制器接收組織功能傳遞給檢視;

16. 請說明php中傳值與傳引用的區別。什麼時候傳值什麼時候傳引用?(2分)
:按值傳遞:函式範圍內對值的任何改變在函式外部都會被忽略
   按引用傳遞:函式範圍內對值的任何改變在函式外部也能反映出這些修改
   優缺點:按值傳遞時,php必須複製值。特別是對於大型的字串和物件來說,這將會是一個代價很大的操作。
   按引用傳遞則不需要複製值,對於效能提高很有好處。

29、指出一些在PHP輸入一段HTML程式碼的辦法。(1分)
:echo "<a href='index.php'>aaa</a>";

11.字串”\r”,”\n”,”\t”,”\x20”分別代表什麼

答案: “\r”代表的含義是: 
Linuxunix 中表示返回到當行的最開始位置,在Mac OS 中表示換行且返回到下一行的最開始位置,相當於Windows 裡的 \n 的效果。 
“\n”代表的含義是: 
Windows 中表示換行且回到下一行的最開始位置。相當於Mac OS 裡的 \r 的效果,在Linux、unix 中只表示換行,但不會回到下一行的開始位置。 
“\t”所代表的含義是: 
鍵盤上的“TAB”鍵,跳格(移至下一列)。 
“\x20”所代表的含義是:是32在ASCII表中16進位制的表示。

12. 禁用COOKIE 後 SEESION 還能用嗎?

不能

13.簡述json和jsonp的區別以及優缺點,應用場景。答:說到AJAX就會不可避免的面臨兩個問題,第一個是AJAX以何種格式來交換資料?第二個是跨域的需求如何解決?這兩個問題目前都有不同的解決方案,比如資料可以用自定義字串或者用xml來描述,跨域可以通過伺服器端代理來解決。
但到目前為止最被推崇或者說首選的方案還是用JSON來傳資料,靠JSONP來跨域。

14.一個頁面從輸入 URL 到頁面載入顯示完成,這個過程中都發生了什麼?

1、輸入http://www.taobao.com後,瀏覽器通過DNS解析到www.taobao.com的IP地址,通過這個IP地址找 到client到server的路徑。client瀏覽器發起一個HTTP會話,然後通過TCP進行封裝資料包,輸入到網路層 。

  2、在client的傳輸層,把HTTP會話請求分成報文段,新增源和目的埠,如server使用80埠監聽client 的請求,客戶端由系統隨機選擇一個埠,與server進行交換,server把相應的請求返回給client的埠 。然後使用IP層的IP地址查詢目的端。

  3、client的網路層,通過查詢路由表確定如何到達server,期間可能經過多個路由器,通過查詢路由表 決定通過那個路徑到達server。

  4、client的鏈路層,通過鏈路層傳送到路由器,通過協議查詢給定IP地址的MAC地址,然後傳送ARP請 求查詢目的地址,如果得到迴應就可以傳輸了,然後傳送IP資料包到達server的地址。

  優化:客戶端輸入網址後,在網址的前面加字首進行標識,伺服器端對含有標識的網址優先訪問,降 低從大量傳輸資料中搜尋網址的時間,提高訪問效率。

大家都知道,不同地區不同網路(注:電信、聯通、教育網等)之間互訪會非常緩慢,可採用CDN(Content Delivery Network),即內容分發網路

15.