色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

淘寶PHP筆試題及答案解析

瀏覽:185日期:2022-06-02 16:58:06

問題一:新浪微博首頁你和他共同關注的人功能實現,用于存儲人這個信息的方法是什么?

1)可以使用redis的set方式存儲,使用sinter命令返回交集。2)可以使用PHP的array_intersect函數實現。

問題二:PHP靜態類的特性?

1)被聲明為靜態類的類不允許包含任何非靜態成員2)抽象靜態類中的靜態方法不允許調用,它必須先被繼承。3)在靜態類中,允許抽象的靜態方法。(莫名其妙?)4)靜態類不允許含有 構造函數、析構函數、動態攔截函數(本人理解為魔術函數)以及 __toString()。5)靜態類不允許繼承自非靜態類。6)為了向下兼容,目前含有靜態成員的抽象類/非靜態類的行為不會被改變。7)在抽象類中添加 __setStatic() 以及 __getStatic() 以代替 __get() 、 __set()。8)靜態類不能被實例化9)靜態類可以實現自只包含靜態方法的接口

掃盲:所謂靜態類指的是無需實例化成對象,直接通過靜態方式調用的類。代碼如下:

<?phpclass Math{ public static function ceil($value) {return ceil($value); } public static function floor($value) {return floor($value); }}?>

此時類所扮演的角色更像是命名空間,這或許是很多人喜歡使用靜態類最直接的原因。

問題三:用PHP以及shell或者perl寫出從access_log中查找出最多訪問IP的方法。

PHP代碼如下

function new_sort($a,$b){ if ($a == $b) return 0; return ($a>$b) ?-1:1;}$pattern=’/[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}/’;if($file = file_get_contents('/var/log/httpd/access_log')){ if(preg_match_all($pattern, $file, $matches)) {$result = array_count_vaules($matches[0]);uasort($result,'new_sort');print_r($result); }else{echo 'match failed!' }}else{ echo 'open file failed!!';}

Perl代碼如下:

#!/usr/bin/perl -wopen(ACCESS,’/var/log/httpd/access_log’);@log = <ACCESS>;foreach $word (@log){ $word =~ /d{1,3}.d{1,3}.d{1,3}.d{1,3}/; $match = $&; $matchlist{$match} +=1;}@sorted = map {{($_=>$matchlist{$_})}}sort {$matchlist{$a} cmp $match{$b} or $a cmp $b} keys %matchlist;foreach $cap (keys(%matchlist)){ ($key,$value) = each %$cap; print('$key => $valuen');}close(ACCESS);

直接命令實現:

awk -F’ ’ ’{print $1}’ /var/log/httpd/access_log | uniq -c | sort -nr

問題四:PHP獲取網頁內容的方法

1)file_get_contents: 將整個文件讀入一個字符串。2)curl:流程為curl_init();curl_setopt();curl_exec();curl_close();

<?php $url = 'http://www.jb51.net'; $ch = curl_init(); $timeout = 5; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); //在需要用戶檢測的網頁里需要增加下面兩行 //curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY); //curl_setopt($ch, CURLOPT_USERPWD, US_NAME.':'.US_PWD); $contents = curl_exec($ch); curl_close($ch); echo $contents;

3)fopen->fread->fclose:實現類似file_get_contents,通過打開遠程文件并讀取

其中 fopen和file_get_contents需要開啟php.ini中的allow_url_fopen選項,Curl需要開啟curl選項。

4)經rtxbc提醒,知道了其實常用的是socket方法抓取網頁內容

找到了一段示例代碼如下:

{ $fp = fsockopen($host, 80) or die('Open '. $url .' failed'); $header = 'GET /'.$url .' HTTP/1.1rn'; $header .= 'Accept: */*rn'; $header .= 'Accept-Language: zh-cnrn'; $header .= 'Accept-Encoding: gzip, deflatern'; $header .= 'User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; InfoPath.1; .NET CLR 2.0.50727)rn'; $header .= 'Host: '. $host .'rn'; $header .= 'Connection: Keep-Alivern'; //$header .= 'Cookie: cnzz02=2; rtime=1; ltime=1148456424859; cnzz_eid=56601755-rnrn';

問題五:Memcache和memcached的區別,緩存的時間應該怎么設置?

memcached中有getmulti和setmulti,很實用,而且還有很多方法是memcache沒有的,因此可以理解為memcache的升級版。

問題六:Redis有哪些存儲類型,各有什么特點

具體類型包括strings, list, set, sorted set, hash

問題七:Node.js的特性,什么是異步?

異步,事件驅動,非阻塞。

異步的特點就是一個調用者發出一個請求之后不需要馬上得到結果,而是等待處理者得出結果集之后返回給調用者,和同步的你說完我再說概念不同。

事件驅動是javascript的特性,當一個動作觸發之后驅動一個事件,可以是多對多的關系,也就是說多個動作驅動多個事件。

非阻塞是node.js的一個新特性,傳統編程語言是面向過程的流程,也就是上面的操作沒完成,下面的操作會阻塞在那里等待操作完成。而node.js的特點就是非阻塞,用下面的例子來說明

$file = fopen('/etc/file',r+);$contents = fread($file,filesize('/etc/file'));fclose();echo 'this will not display';

文件讀寫沒完成的時候,echo不會輸出,但是在node.js的特性中就不一樣了,看下面的代碼:

require('fs')fs.readFile(’/etc/filename’,’UTF-8’,function(err,date){ if(err) throw err; console.log(date);});console.log('running');

這個程序中,讀取文件的操作沒有影響console.log輸出running,而date需要文件讀取完畢再輸出,兩者不阻塞。

標簽: 淘寶
相關文章:
主站蜘蛛池模板: 国产高清自拍视频 | 中文字幕在线视频观看 | 成人午夜大片免费7777 | 92国产福利久久青青草原 | 国产一区二区久久精品 | 亚洲一区二区三 | 久草视频免费看 | 真实国产精品视频国产网 | 欧美国产精品久久 | 在线观看国产一区 | 中国一级大黄大片 | 3级黄色| 北岛玲亚洲一区在线观看 | 欧美特级特黄a大片免费 | 欧美精品成人一区二区在线观看 | 成人免费看黄网址 | 男人在线天堂 | 99久久九九| 68久久久久欧美精品观看 | 精品久久久久久免费影院 | 欧美一级日韩一级亚洲一级 | 国产一区精品 | 欧美深夜在线 | 亚洲韩精品欧美一区二区三区 | 99国产精品久久久久久久日本 | 窝窝人体色 | 草草影院私人免费入口 | 欧美一级成人毛片影院 | 久久国产欧美日韩高清专区 | 国产99视频精品免视看7 | 国内成人精品亚洲日本语音 | 国产呦精品一区二区三区网站 | 91成人在线视频 | 久久 精品 一区二区 | 中文字幕一区中文亚洲 | 中文字幕有码在线播放 | 国产人成 | 97欧美精品一区二区三区 | 中国三级毛片 | 国产成人免费网站在线观看 | 日韩一区二区三区在线观看 |