從8月15號(hào)來到北京一直到今天,一月有余。來的這段時(shí)間一直準(zhǔn)備筆試面試,大大小小的公司,亂七八糟面了10多家,近期才安頓下來。面試的這段時(shí)間感覺自己成長了不少。初來到這個(gè)陌生的城市一臉茫然,不會(huì)乘地鐵、不會(huì)有擠公交、不會(huì)恰如其分的生活。。。
面試是進(jìn)入職場的第一道坎,因?yàn)槲冶旧韺W(xué)校太一般的問題在面試中遇到了各種不爽,和那些高學(xué)歷的相比自己真是信心大跌。我面試的方向是php開發(fā)工程師,主要做網(wǎng)站后臺(tái)、APP接口等。我所面試的公司、試題、心得都在我的個(gè)人網(wǎng)站上,感興趣的可以看看:http://dwz.cn/1KMpea。下面是我這段時(shí)間總結(jié)的面試方面的常考常問的知識(shí)點(diǎn),希望對(duì)大家有所幫助,不對(duì)之處歡迎指出。
總結(jié):
php部分我是按照面試常問的問題總結(jié)的,下面的問題在面試中出場率很高。問題比較基礎(chǔ)
--------------------PHP部分---------------------
PHP中幾個(gè)輸出函數(shù)echo,print(),print_r(),sprintf(),var_dump()的區(qū)別1:echo:是語句不是函數(shù),沒有返回值,可輸出多個(gè)變量值,不需要圓括號(hào)。不能輸出數(shù)組和對(duì)象,只能打印簡單類型(如int,string)。
2:print:是語句不是函數(shù),有返回值 1 ,只能輸出一個(gè)變量,不需要圓括號(hào)。不能輸出數(shù)組和對(duì)象,只能打印簡單類型(如int,string)。
3:print_r:是函數(shù),可以打印復(fù)合類型,例如:stirng、int、float、array、object等,
輸出array時(shí)會(huì)用結(jié)構(gòu)表示,而且可以通過print_r($str,true)來使print_r不輸出而返回print_r處理后的值
4:printf:是函數(shù),把文字格式化以后輸出(參看C語言)
5:sprintf:是函數(shù),跟printf相似,但不打印,而是返回格式化后的文字(該函數(shù)把格式化的字符串寫寫入一個(gè)變量中,而不是輸出來),其 他的與printf一樣。
例如: $str = 'Hello'; $number = 123;
$txt = sprintf('%s world. Day number %u',$str,$number); //輸出:Hello world. Day number 123
6:var_dump():函數(shù),輸出變量的內(nèi)容、類型或字符串的內(nèi)容、類型、長度。常用來調(diào)試。
寫個(gè)函數(shù)來解決多線程同時(shí)讀寫一個(gè)文件的問題。1 <?php 2 $fp = fopen('/tmp/lock.txt','w+'); 3 if(flock($fp, LOCK_EX)){// 進(jìn)行排它型鎖定 4 fwrite($fp,'Write something here'); 5 flock($fp, LOCK_UN);// 釋放鎖定 6 }else{ 7 echo 'Couldn't lock the file !'; 8 } 9 fclose($fp);10 ?>
禁掉cookie的session使用方案,設(shè)置session過期的方法,對(duì)應(yīng)函數(shù):
通過 url 傳值,把session id附加到url上(缺點(diǎn):整個(gè)站點(diǎn)中不能有純靜態(tài)頁面,因?yàn)榧冹o態(tài)頁面session id 將無法繼續(xù)傳到下一頁面) 通過隱藏表單,把session id 放到表單的隱藏文本框中同表單一塊提交過去(缺點(diǎn):不適用<a>標(biāo)簽這種直接跳轉(zhuǎn)的非表單的情況) 直接配置php.ini文件,將php.ini文件里的session.use_trans_sid= 0設(shè)為1,(好像在win上不支持) 用文件、數(shù)據(jù)庫等形式保存Session ID,在跨頁過程中手動(dòng)調(diào)用1 第一種 setcookie() 直接用setcookie設(shè)置session id的生命周期。 2 3 $lifetime=60; //保存1分鐘 4 session_start(); 5 setcookie(session_name(), session_id(), time()+$lifetime, '/'); 6 第二種 session_set_cookie_params() 7 $lifetime=60;//保存1分鐘 8 session_set_cookie_params($lifetime); 9 session_start();10 session_regenerate_id(true);11 其中session_regenerate_id();方法用于改變當(dāng)前session_id的值,并保留session中數(shù)組的值。參數(shù)默認(rèn)為 false,如果設(shè)置為true則改變session_id的值,并清空當(dāng)前session數(shù)組。
json格式數(shù)據(jù)有哪些特點(diǎn)
JSON 一種輕量級(jí)的數(shù)據(jù)交換格式。它基于ECMAScript的一個(gè)子集。 JSON采用完全獨(dú)立于語言的文本格式,但是也使用了類似于C語言家族的習(xí)慣(包括C、C++、C#、Java、JavaScript、Perl、 Python等)。這些特性使JSON成為理想的數(shù)據(jù)交換語言。 易于人閱讀和編寫,同時(shí)也易于機(jī)器解析和生成(網(wǎng)絡(luò)傳輸速率)。
JSON的結(jié)構(gòu)基于下面兩點(diǎn)
1. '名稱/值'對(duì)的集合不同語言中,它被理解為對(duì)象(object),記錄(record),結(jié)構(gòu)(struct),字典(dictionary),哈希表(hash table),鍵列表(keyed list)等鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。
新聞熱點(diǎn)
疑難解答
圖片精選