日韩欧美另类久久久精品_亚洲大色堂人在线无码_国产三级aⅴ在线播放_在线无码aⅴ精品动漫_国产精品精品国产专区

Yahoo-PHP面試筆試題分享

  1. 給你一行文字 $string,你會(huì)如何編寫一個(gè)正規(guī)表達(dá)式,把 $string 內(nèi)的 HTML 標(biāo)籤除去?

  2. PHP 和 Perl 分辨陣列和散列表的方法有什麼差異?

  3. 你如何利用 PHP 解決 HTTP 的無(wú)狀態(tài)本質(zhì)?

  4. GD 函式庫(kù)用來(lái)做什麼?

  5. 試寫出幾個(gè)輸出一段 HTML 代碼的方法。

  6. PHP 比 Perl 好嗎?請(qǐng)討論。

  以下是 Matt Wilkin 提供的解答:

  1. 給你一行文字 $string,你會(huì)如何編寫一個(gè)正規(guī)表達(dá)式,把 $string 內(nèi)的 HTML 標(biāo)籤除去?

  首先,PHP 有內(nèi)建函式 strip_tags() 除去 HTML 標(biāo)籤,為何要自行編寫正規(guī)表達(dá)式?好了,便當(dāng)作是面試的一道考題吧,我會(huì)這樣回答:

  $stringOfText = “

  This is a test

  “;

  $expression = “/<(.*?)>(.*?)<\/(.*?)>/”;

  echo preg_replace($expression, “\\2″, $stringOfText);

  // 有人說(shuō)也可以使用 /(<[^>]*>)/

  $expression = “/(<[^>]*>)/”;

  echo preg_replace($expression, “”, $stringOfText);

  2. PHP 和 Perl 分辨陣列和散列表的方法有什麼差異?

  這正是為何我老是告訴別人選擇適當(dāng)?shù)木幊陶Z(yǔ)言,若果你只用一種語(yǔ)言的話你怎麼能回答這道問(wèn)題?這道問(wèn)題很簡(jiǎn)單,Perl 所有陣列變量都是以 @ 開(kāi)頭,例如 @myArray,PHP 則沿用 $ 作為所有變量的開(kāi)頭,例如 $myArray。

  至於 Perl 表示散列表則用 %,例如 %myHash,PHP 則沒(méi)有分別,仍是使用 $,例如 $myHash。

  3. 你如何利用 PHP 解決 HTTP 的無(wú)狀態(tài)本質(zhì)?

  最主要的倆各選擇是 session 和 cookie。使用 session 的方法是在每一頁(yè)的開(kāi)始加上 session_start(),然後利用 $_SESSION 散列表來(lái)儲(chǔ)存 session 變量。至於 cookie 你只需記著一個(gè)原則:在輸出任何文字之前調(diào)用 set_cookie() 函式,此外只需使用 $_COOKIE 散列表便可以存取所有 cookie 變量。

  還有一個(gè)不那麼可靠的方法,就是利用訪客的 IP 地址,這個(gè)方法有特定的危險(xiǎn)性。

  4. GD 函式庫(kù)用來(lái)做什麼?

  這個(gè)可能是我最喜歡的函式庫(kù),自從 PHP 4.3.0 版本後 GD 便內(nèi)建在 PHP 系統(tǒng)中。這個(gè)函式庫(kù)讓你處理和顯示各式格式的圖檔,它的另一個(gè)常見(jiàn)用途是製作所圖檔。GD 以外的另一個(gè)選擇是 ImageMagick,但這個(gè)函式庫(kù)並不內(nèi)建於 PHP 之中,必須由系統(tǒng)管理員安裝在伺服器上。

  5. 試寫出幾個(gè)輸出一段 HTML 代碼的方法。

  嗯,你可以使用 PHP 中任何一種輸出語(yǔ)句,包括 echo、print、printf,大部分人都使用如下例的 echo:

  echo “My string $variable”;

  你也可以使用這種方法:

  echo <<

  This text is written to the screen as output and this $variable is parsed too.

  If you wanted you can have HTML tags in here as well.

  The END; remarks must be on a line of its own, and can’t contain any extra white space.

  END;

  6. PHP 比 Perl 好嗎?請(qǐng)討論。

  我們不要為一個(gè)簡(jiǎn)單的問(wèn)題引發(fā)一場(chǎng)舌戰(zhàn),正如我經(jīng)常說(shuō)的:「為工作選擇適合的語(yǔ)言,不要把工作遷就語(yǔ)言!刮覀(gè)人認(rèn)為 Perl 十分適合用作命令行工具,雖然它在網(wǎng)頁(yè)應(yīng)用上也有不錯(cuò)的表現(xiàn),但是它的真正實(shí)力在命令行上才能充分發(fā)揮。同樣地,PHP 雖然可以在控制臺(tái)的環(huán)境中使用,但是個(gè)人認(rèn)為它在網(wǎng)頁(yè)應(yīng)用上有更好的表現(xiàn),PHP 有大量專門為網(wǎng)頁(yè)應(yīng)用而設(shè)計(jì)的函式,Perl 則似乎以命令行為設(shè)計(jì)之本。

  個(gè)人來(lái)說(shuō)兩種語(yǔ)言我都喜歡,在大學(xué)期間我經(jīng)常使用 Perl、PHP 和 Java,可惜工作上我使用 C#,但在家裡我花不少時(shí)間操練 PHP、Perl、Ruby(現(xiàn)正學(xué)習(xí))和 Java,保持我的技能知識(shí)在最新?tīng)顟B(tài)。很多人問(wèn)我 C 和 C++ 怎麼樣,它們是否仍有機(jī)會(huì)在我的應(yīng)用中佔(zhàn)一席位,我的答案基本上是「否」,我近來(lái)的工作主要集中在網(wǎng)頁(yè)開(kāi)發(fā),雖然 C 和 C++ 也可以用來(lái)寫網(wǎng)頁(yè),但它們到底不是為這種工作而設(shè)計(jì)的,「為工作選擇適合的語(yǔ)言」,若果我需要編寫一個(gè)控制臺(tái)應(yīng)用,用來(lái)展示 bubble sort、quick sort 和 merge sort 的效能比較,我一定會(huì)使用 C / C++。若果我需要編寫一個(gè)相片簿系統(tǒng),我會(huì)使用 PHP 或者 C#(我認(rèn)為製作用戶介面方面 .NET 語(yǔ)言比網(wǎng)頁(yè)更加)。

本文已影響6827
上一篇:新浪網(wǎng)技術(shù)部筆試題 下一篇:2015最新PHP面試題附答案

相關(guān)文章推薦

|||||