自己總結的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.

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章