国产精品亚洲综合久久系列,一本大道香蕉青青久久,播放高清的播放器,国产在线观看无码不卡

蜜蜂職場(chǎng)文庫(kù) > 面試技巧 >

php高級(jí)面試題及答案

時(shí)間: 小龍 面試技巧

  PHP高級(jí)面試題如果你有做好準(zhǔn)備,面試中你就會(huì)輕松應(yīng)對(duì)了,以下是小編幫你們整理的php高級(jí)面試題及答案,一起來(lái)學(xué)習(xí)啦。

  php高級(jí)面試題及答案(一)

  1.nginx使用哪種網(wǎng)絡(luò)協(xié)議?

  nginx是應(yīng)用層 我覺(jué)得從下往上的話 傳輸層用的是tcp/ip 應(yīng)用層用的是http fastcgi負(fù)責(zé)調(diào)度進(jìn)程

  2. 沒(méi)有輸出結(jié)果, 可能是什么原因, 簡(jiǎn)述的解決此問(wèn)題的過(guò)程(提示: 語(yǔ)法沒(méi)有問(wèn)題)

  可能服務(wù)器上面沒(méi)有開啟短標(biāo)簽short_open_tag =設(shè)置為Off,,php.ini開啟短標(biāo)簽控制參數(shù): short_open_tag = On

  3. 簡(jiǎn)述下面程序的輸出結(jié)果, 簡(jiǎn)要說(shuō)明為什么, 如何解決這類問(wèn)題?

  $tmp = 0 == "a"? 1: 2;

  echo $tmp;

  ?>

  結(jié)果 1 int和string類型強(qiáng)制轉(zhuǎn)換造成的,0==="a"

  0 == 0 肯定是true啊

  PHP是弱類型。。

  $tmp = 0 === "a"? 1: 2;

  echo $tmp; 這樣就是2

  4. 已知一個(gè)字符串如下: $str = "1109063 milo 1";

  用一行代碼將該字符串里面的1109063賦值給$uid, milo賦值給$user, 1賦值給$type

  空格如下

  list($uid, $user, $type) = explode(" ", $str);

  \t如下

  list($uid, $user, $type) = explode("\t", $str);

  list($uid, $user, $type) = sscanf($str, "%d %s %d");

  $n = sscanf($auth, "%d\t%s %s", $id, $first, $last);

  5. 分別列出如下類型的有符號(hào)和無(wú)符號(hào)范圍 TINYINT SMALLINT MEDIUMINT INT

  TINYINT-2^7 - 2^7-10 ~ 2^8-1

  SMALLINT-2^15 - 2^15-1 0 ~ 2^16-1

  MEDIUMINT-2^23 - 2^23-1 0 ~ 2^24-1

  INT-2^31 - 2^31-1 0 ~ 2^32-1

  6. 將下面的數(shù)組用一行拼裝成一個(gè)字符串i am milo! day day up!

  $arr = array(

  'I', 'AM', 'MILO!', 'DAY', 'DAY', 'UP!'

  );

  ?>

  $str = strtolower(implode(" ",$arr));

  php高級(jí)面試題及答案(二)

  1. echo count(“abcd”);輸出多少?

  int count(mixed var)

  返回單元數(shù)目,通常是一個(gè)array,任何其他類型都只有一個(gè)單元,有一個(gè)例外, 如果var是null結(jié)果是0

  2.

  $a=$b=$c=0;

  $a=$b && $c;

  運(yùn)行以上代碼后$a $b $c 分別是?

  $a=false

  $c=0

  $b=0

  2. PHP打印出前一天的時(shí)間,格式是-12-29 22:21:21

  echo date('Y-m-d H:i:s',strtotime('-1 day'));

  strtotime 將任何英文文本的日期時(shí)間解析成時(shí)間戳

  4. 請(qǐng)用php的heredoc語(yǔ)法格式輸出:hello world!

  echo <<

  hello world!

  EOT;

  5. $string = "abcdefg",那么$string{4}的值是?

  $string{4}=e

  因?yàn)镻HP是弱類型語(yǔ)言,可以將字符串“視為數(shù)組”,當(dāng)做字符集合看待,字符串中的字符可以在字符串之后用花括號(hào)指定所要字符從零開始的偏移量來(lái)訪問(wèn)和修改。

  6. 簡(jiǎn)述echo(),print(),print_r()的區(qū)別。

  echo,print是PHP語(yǔ)言結(jié)構(gòu), print_r是函數(shù),語(yǔ)言結(jié)構(gòu)沒(méi)有返回值,函數(shù)可以有返回值(即便沒(méi)有用)

  print只能打印出簡(jiǎn)單類型變量的值(如int,string)

  print_r可以打印出復(fù)雜類型變量的值(如數(shù)組,對(duì)象)

  7.用PHP寫出顯示客戶端IP與服務(wù)器IP的代碼。

  客戶端: $_SERVER[REMOTE_ADDR]

  服務(wù)器: $_SERVER[SERVER_ADDR]

  php高級(jí)面試題及答案(三)

  1. 調(diào)用如下函數(shù)獲取函數(shù)并獲取count的值

  function get_list($cnd = array(), &$count = false)

  {

  // 偽代碼 處理$cnd 并賦值datas

  $datas = 'i am call back';

  $count && $count = rand(1, 10000);

  return $datas;

  }

  ?>

  $count=1;

  $data = get_list($cnd,&$count);

  echo $count;

  2. 幾種方式去取代session機(jī)制, 簡(jiǎn)單描述各自的優(yōu)劣

  mysql、memcache、cookie保持一種唯一狀態(tài)標(biāo)識(shí)碼

  3. 下列HTTP狀態(tài)碼出現(xiàn)的可能原因, 如何處理

  200, 301, 404, 502, 503

  200

  請(qǐng)求已成功,請(qǐng)求所希望的響應(yīng)頭或數(shù)據(jù)體將隨此響應(yīng)返回。

  301

  被請(qǐng)求的資源已永久移動(dòng)到新位置,并且將來(lái)任何對(duì)此資源的引用都應(yīng)該使用本響應(yīng)返回的若干個(gè) URI 之一。如果可能,擁有鏈接編輯功能的客戶端應(yīng)當(dāng)自動(dòng)把請(qǐng)求的地址修改為從服務(wù)器反饋回來(lái)的地址。除非額外指定,否則這個(gè)響應(yīng)也是可緩存的。 新的永久性的 URI 應(yīng)當(dāng)在響應(yīng)的 Location 域中返回。除非這是一個(gè) HEAD 請(qǐng)求,否則響應(yīng)的實(shí)體中應(yīng)當(dāng)包含指向新的 URI 的超鏈接及簡(jiǎn)短說(shuō)明。 如果這不是一個(gè) GET 或者 HEAD 請(qǐng)求,因此瀏覽器禁止

  自動(dòng)進(jìn)行重定向,除非得到用戶的確認(rèn),因?yàn)檎?qǐng)求的條件可能因此發(fā)生變化。 注意:對(duì)于某些使用 HTTP/1.0 協(xié)議的瀏覽器,當(dāng)它們發(fā)送的 POST 請(qǐng)求得到了一個(gè)301響應(yīng)的話,接下來(lái)的重定向請(qǐng)求將會(huì)變成 GET 方式。

  404

  請(qǐng)求失敗,請(qǐng)求所希望得到的資源未被在服務(wù)器上發(fā)現(xiàn)。沒(méi)有信息能夠告訴用戶這個(gè)狀況到底是暫時(shí)的還是永久的。假如服務(wù)器知道情況的話,應(yīng)當(dāng)使用410狀 態(tài)碼來(lái)告知舊資源因?yàn)槟承﹥?nèi)部的配置機(jī)制問(wèn)題,已經(jīng)永久的不可用,而且沒(méi)有任何可以跳轉(zhuǎn)的地址。404這個(gè)狀態(tài)碼被廣泛應(yīng)用于當(dāng)服務(wù)器不想揭示到底為何請(qǐng) 求被拒絕或者沒(méi)有其他適合的響應(yīng)可用的情況下。

  502

  作為網(wǎng)關(guān)或者代理工作的服務(wù)器嘗試執(zhí)行請(qǐng)求時(shí),從上游服務(wù)器接收到無(wú)效的響應(yīng)。

  503

  由于臨時(shí)的服務(wù)器維護(hù)或者過(guò)載,服務(wù)器當(dāng)前無(wú)法處理請(qǐng)求。這個(gè)狀況是臨時(shí)的,并且將在一段時(shí)間以后恢復(fù)。如果能夠預(yù)計(jì)延遲時(shí)間,那么響應(yīng)中可以包含一個(gè) Retry-After 頭用以標(biāo)明這個(gè)延遲時(shí)間。如果沒(méi)有給出這個(gè) Retry-After 信息,那么客戶端應(yīng)當(dāng)以處理500響應(yīng)的方式處理它。 注意:503狀態(tài)碼的存在并不意味著服務(wù)器在過(guò)載的時(shí)候必須使用它。某些服務(wù)器只不過(guò)是希望拒絕客戶端的連接。

  200 OK 一切正常,對(duì)GET和POST請(qǐng)求的應(yīng)答文檔跟在后面。

  301 Moved Permanently 客戶請(qǐng)求的文檔在其他地方,新的URL在Location頭中給出,瀏覽器應(yīng)該自動(dòng)地訪問(wèn)新的URL

  404 Not Found 無(wú)法找到指定位置的資源。這也是一個(gè)常用的應(yīng)答。

  502 Bad Gateway 服務(wù)器作為網(wǎng)關(guān)或者代理時(shí),為了完成請(qǐng)求訪問(wèn)下一個(gè)服務(wù)器,但該服務(wù)器返回了非法的應(yīng)答。

  503 Service Unavailable 服務(wù)器由于維護(hù)或者負(fù)載過(guò)重未能應(yīng)答。例如,Servlet可能在數(shù)據(jù)庫(kù)連接池已滿的情況下返回503。服務(wù)器返回503時(shí)可以提供一個(gè)Retry-After頭。

49858