搜尋
首頁後端開發php教程據說是新浪樂居的面試題目及我的答案以及對筆試題的一些建議

一、 
1、有以下HTML:據說是新浪樂居的面試題目及我的答案以及對筆試題的一些建議 
1)以js取得方法取得該物件; )用________屬性取得屬性title的屬性值; 
3)用________方法取得屬性的屬性值; 
3)用________方法取得屬性sina_title的屬性值; 
(1) document.getElementById('img1'); ) document.getElementById('img1').getAttribute('title');
(3) document.getElementById('img1').getAttribute('sina_title');而反序列化的函數分別是______和_______; 
serialize,upserialize
3、rawurlencode和urlencode函數的差別是__________________; 
rawurlen會將空格轉換成+,urlencode空格轉換為%20
4、php中過濾HTML的函數是_______,轉義的函數是____________; 
strip_tags,htmlspecialchars
5、寫出用正則腳本過濾器掉; 
preg_replace('//is','',$htmlcode);
6、SQL中LEFT JOIN的意思是______________; 
如果有一個表tl_user儲存學生ID和名字name,另外一個表格tl_score儲存學生ID、科目subject和成績score(有的學生沒有考試成績),寫出sql語句印出學生名字和各科總成績; 
左聯接,首先將左表中所有資料取出,然後再將滿足where條件中的右表資料取出。當此行的資料不符合where條件,則回傳空.
select tu.name,sum(ts.score) as totalscore from tl.user left join tl_score on tl.rom tl.user left join tl_score on tl.rom tl.user left join tl_score on tl.uid 7.寫出三個呼叫系統指令的函數; 
system,passthru,exec
8、josn處理陣列的函數是; 
json_encode,json_decodedcoded是函數是_______;判斷是否為空的是___________; 
isset,empty
10、error_reporting("E_ALL")和ini_set("display_errors", "on")的區別_________;
前者是設定錯誤顯示等級,E_ALL代表提示全部錯誤(包括notice,warnning和error)。後者是設定讓php顯示錯誤,在關於錯誤顯示控制中,後者的優先權最高。
11、PHP寫出顯示客戶端IP的預定義變數________;提供來路url的是__________; 
$_SERVER['REMOTE_ADDR'],$_SERVER['HTTP_REFERER'] 、php把utf-8轉換成gbk的函數是___________; 
iconv('UTF-8','GBK',$str);
13、php中分割字串成數組的函數__________ ,連接數組成字串的是_______; 
explode,implode
14、php中類別的靜態方法怎麼使用_____________________________________; 
在類別外部,使用:類別後_____________________________________; 
後面是方法名稱,類似classname::staticFucntion(),由於靜態方法不屬於某個對象,而是隸屬於整個類,所以要用類別名稱來呼叫它。
二、 
1、下列錯誤:mysql server not go away,的原因為何? (大概這是這樣) 
應該是mysql has gone away吧?
一般情況下是由於max_allowed_pa​​cket設定的值過小導致的,max_allowed_pa​​cket用來控制緩衝區的包大小,有時在導入資料包的時候,此值過小就容易造成緩衝區容量不夠。將my.ini或my.cnf中的此值設定大一些即可解決。
還有一種可能是連接資料庫時使用了單例模式,多次操作資料庫但都使用的是同一個連接,由於mysql處理每個執行緒也是佇列模式,目前一個作業還沒執行完畢且間隔小於wait_timeout所設定的值時就容易出現此問題,解決方法是將wait_timeout的值設定大一些。
2、mysql的靜態表和動態表的區別,MyISAM和InnoDB的區別. 
靜態表是當一個表中沒有採用varchar,blob,text這種可變長字段時,此表就是靜態表,反之,如果一個表內存在至少一個可變長字段時,或者如果一個表被用ROW_FORMAT=DYNAMIC選項來創建,此表就為動態表。
myisam與innodb的區別在於,myisam不支援事務處理,因為其不用去做commit操作,所以操作起來速度會比innodb較快。 innodb在安全性方面比myisam,由於支援事務處理,insert,update,delete,select。等操作在預設autocommit=0時,會將每一個操作都當作一個事務,可以進行rollback。如果autocommit=1時,每個操作後它都會自動提交此事務,會造成執行的效率很慢,大概會比myisam慢10倍。
3、$a = 1; $b = & $a; 
unset($a),$b是否還是1,為什麼? 
unset($b),$a是否還是1,為什麼? 
都等於1。
在php中,引用賦值不同於指標的感念,他只是將另一個變數名稱指向了某個記憶體位址。此題中:$b = &$a;只是將$b這個名字也指向了$a變數所指向的記憶體位址。 unset時只是釋放了這個名字的指向,並沒有釋放記憶體中的值。另一方面講unset($a),其實也並未真正立刻釋放內存中的值,也只是釋放了這個名字的指向而已,該函數只有在變量值所佔空間超過256字節長的時候才會釋放內存,並且只有當指向該值的所有變數(例如有引用變數指向該值)都被銷毀後,位址才會被釋放。
三、 
1、寫出至少三個函數,取檔案名稱的後綴,如檔案'/as/image/bc.jpg',得到 jpg或.jpg。
function myGetExtName1( $path ){
 //取出最後一個出現.這個字元的索引位置
 $begin = strrpos($/strinstro);長度
 $end = strlen($path);
 //從最後一個.的索引的位置截取到字串的總長度後的結果返回
,$path begin,$end):'該檔案沒有副檔名';
}
function myGetExtName2( $path ){
 return preg_match_allf/. m)?$m[0][count($m[0])-1]:'該檔案沒有副檔名';
}
function myGetExtName3( $path ){
一個出現.字元的索引位置並將其後面的所有字元一起回傳
 return strrchr($path,'.')?strrchr($path,'.'):'該檔案沒有副檔名';
}
2、寫一個函數,算出兩個文件的相對路徑如 $a = '/a/b/c/d/e.php'; $b = '/a/b/12/34/ c.php'; 計算出 $b 相對於 $a 的相路徑。
$a = '/a/b/c/d/e.php';
$b = '/a/b/12/34/c.php';
//求$b相對於$a的相對路徑
function getRelativelyPath($a,$b){
 //分割成陣列
 $a = explode('/',$a); = explode('/',$b);
 $path = '';
 //將兩個陣列的索引重置
 $c.= ;
 $d = array_values(array_diff($b,$a));
 
 ///路徑中的目錄名稱替換為..
 foreach($c as &$v) $v = '..';
 
=$/合併兩個數組 
=$/合併兩個數組c,$d);
 //拼接路徑
 foreach($e as &$v)
  $path . $v.'/';
  $path . $v.'/'; ');
}
3、用二分法(也叫折半查找法)查找某元素,物件可以是有序數組。
//二分法找出一個陣列中是否存在某值
function binSearchWithArray($array,$searchValue){
 global $time;
  $mid = intval(count($array)/2);
  
  echo ($array);echo '
';

  
  echo '尋找位置索引:',$mid,'
';

 值' mid],'

';

  if($searchValue == $array[$mid]){
   $time--
   $time--
   $時間- ,於第'.$time.'次,索引為'.$mid.'
';

  }
  elseif($searchValue 🠎 = array_slice($array,0,$mid);
   return binSearchWithArray($array,$searchValue);
   slice($array,$mid+1, count($array));
   return binSearchWithArray($array,$searchValue);
  }
 }
. }
$time = 1;
//要找的陣列
$array = array(1,5,8,101,13,19,25,50,60,199,35);值
$searchValue = 13;
//對數組排序,二分法的關鍵
sort($array);
searchecho '要查找的值為/>
';

echo binSearchWithArray($array,$searchValue);
 
這些題說實話不難,但我還是必須承認有些題函數查了資料,因為很多題函數查了不借助IDE根本想不起來怎麼寫,有些概念以前即使知道並理解,但好長時間不涉及卻會漸漸淡忘,比如按引用傳遞那個。
面試時都是讓拿筆寫,我相信沒幾個人能用筆在短時間內把這些東西都寫出來,尤其是後面的寫代碼的,需要反覆修改,因為你在思考的過程中邏輯肯定會出現些漏洞,需要將程式碼執行下才能明白哪裡出了問題,用筆寫真的是扯淡。就算在計算機上寫,後面的一些程式碼我還寫了2,3個小時呢。
面試時的筆試題,真的有待商榷,相信不只我一個人有此感受吧?上次去騰訊面試我就被筆試題給害了。到那了腦袋一片空白,回家後慢慢回想那些題,發現都能寫出來的。
各位都看看我的答案,有有沒有疏漏或錯誤的地方,我並不是覺得考這些東西完全沒有價值,只是覺得面試時作為筆試題很不妥。希望各位在各公司參與面試別人的朋友能參考下我的意見,換一種更合理的考核方式。

原文網址:http://bbs.csdn.net/topics/340149214
以上就介紹了據說是新浪樂居的面試題及我的答案以及對筆試題的一些建議,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
您什麼時候使用特質與PHP中的抽像類或接口?您什麼時候使用特質與PHP中的抽像類或接口?Apr 10, 2025 am 09:39 AM

在PHP中,trait適用於需要方法復用但不適合使用繼承的情況。 1)trait允許在類中復用方法,避免多重繼承複雜性。 2)使用trait時需注意方法衝突,可通過insteadof和as關鍵字解決。 3)應避免過度使用trait,保持其單一職責,以優化性能和提高代碼可維護性。

什麼是依賴性注入容器(DIC),為什麼在PHP中使用一個?什麼是依賴性注入容器(DIC),為什麼在PHP中使用一個?Apr 10, 2025 am 09:38 AM

依賴注入容器(DIC)是一種管理和提供對象依賴關係的工具,用於PHP項目中。 DIC的主要好處包括:1.解耦,使組件獨立,代碼易維護和測試;2.靈活性,易替換或修改依賴關係;3.可測試性,方便注入mock對象進行單元測試。

與常規PHP陣列相比,解釋SPL SplfixedArray及其性能特徵。與常規PHP陣列相比,解釋SPL SplfixedArray及其性能特徵。Apr 10, 2025 am 09:37 AM

SplFixedArray在PHP中是一種固定大小的數組,適用於需要高性能和低內存使用量的場景。 1)它在創建時需指定大小,避免動態調整帶來的開銷。 2)基於C語言數組,直接操作內存,訪問速度快。 3)適合大規模數據處理和內存敏感環境,但需謹慎使用,因其大小固定。

PHP如何安全地上載文件?PHP如何安全地上載文件?Apr 10, 2025 am 09:37 AM

PHP通過$\_FILES變量處理文件上傳,確保安全性的方法包括:1.檢查上傳錯誤,2.驗證文件類型和大小,3.防止文件覆蓋,4.移動文件到永久存儲位置。

什麼是無效的合併操作員(??)和無效分配運算符(?? =)?什麼是無效的合併操作員(??)和無效分配運算符(?? =)?Apr 10, 2025 am 09:33 AM

JavaScript中處理空值可以使用NullCoalescingOperator(??)和NullCoalescingAssignmentOperator(??=)。 1.??返回第一個非null或非undefined的操作數。 2.??=將變量賦值為右操作數的值,但前提是該變量為null或undefined。這些操作符簡化了代碼邏輯,提高了可讀性和性能。

什麼是內容安全策略(CSP)標頭,為什麼重要?什麼是內容安全策略(CSP)標頭,為什麼重要?Apr 09, 2025 am 12:10 AM

CSP重要因為它能防範XSS攻擊和限制資源加載,提升網站安全性。 1.CSP是HTTP響應頭的一部分,通過嚴格策略限制惡意行為。 2.基本用法是只允許從同源加載資源。 3.高級用法可設置更細粒度的策略,如允許特定域名加載腳本和样式。 4.使用Content-Security-Policy-Report-Only頭部可調試和優化CSP策略。

什麼是HTTP請求方法(獲取,發布,放置,刪除等),何時應該使用?什麼是HTTP請求方法(獲取,發布,放置,刪除等),何時應該使用?Apr 09, 2025 am 12:09 AM

HTTP請求方法包括GET、POST、PUT和DELETE,分別用於獲取、提交、更新和刪除資源。 1.GET方法用於獲取資源,適用於讀取操作。 2.POST方法用於提交數據,常用於創建新資源。 3.PUT方法用於更新資源,適用於完整更新。 4.DELETE方法用於刪除資源,適用於刪除操作。

什麼是HTTP,為什麼對Web應用程序至關重要?什麼是HTTP,為什麼對Web應用程序至關重要?Apr 09, 2025 am 12:08 AM

HTTPS是一種在HTTP基礎上增加安全層的協議,主要通過加密數據保護用戶隱私和數據安全。其工作原理包括TLS握手、證書驗證和加密通信。實現HTTPS時需注意證書管理、性能影響和混合內容問題。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。