日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

php折半查找面试题,php 面试题(一)

發(fā)布時間:2023/11/30 php 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php折半查找面试题,php 面试题(一) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

最近轉(zhuǎn)載一些面試題,希望能給找工作的朋友們帶來一點(diǎn)幫助。

1.寫出5個以上你所知道的常用的Linux命令和它的功能

cat,顯示文件內(nèi)容。

cd,改變目錄路徑。

cp,復(fù)制文件。

find,查找文件。

grep,搜索、過濾信息。

ls,列出目錄信息。

more,分頁顯示。

rm,刪除文件或目錄。

vi,調(diào)用vi文本編輯器。

who,顯示登錄用戶信息。

2.HTTP/1.0 中,狀態(tài)碼 200 301 304 403 404 500的含義

200 - 服務(wù)器成功返回網(wǎng)頁

301(永久移動)請求的網(wǎng)頁已永久移動到新位置。

304(未修改)自從上次請求后,請求的網(wǎng)頁未修改過

403(禁止)服務(wù)器拒絕請求

404 - 請求的網(wǎng)頁不存在

503 - 服務(wù)器超時

3.請寫出以下html標(biāo)簽的含義:input form script style table b img

寫出PHP(或其他語言)的public、protected、private三種訪問控制模式的區(qū)別?

屬于OOP面向?qū)ο笳Z言中的類中訪問控制模式

Public可以外部訪問

Protected,private只可以內(nèi)部訪問

Public,protected可以被繼承

Private不可以被繼承

5.請描述 PHP(或其他語言) Session 的運(yùn)行機(jī)制,大型網(wǎng)站中Session方面應(yīng)注意什么?

運(yùn)行機(jī)制:客戶端將session id傳遞到服務(wù)器,服務(wù)器根據(jù)session id找到對應(yīng)的文件,讀取的時候?qū)ξ募?nèi)容進(jìn)行反序列化就得到session的值,保存的時候先序列化再寫入

注意:1,session在大訪問量網(wǎng)站上確實(shí)影響系統(tǒng)性能,影響性能的原因之一由文件系統(tǒng)設(shè)計(jì)造成,在同一個目錄下超過10000個文件時,文件的定位將非常耗時,可以通過修改php.ini中session.save_path設(shè)置兩級子目錄 ,session將存儲在兩級子目錄中,每個目錄有16個子目錄[0~f],不過好像PHP session不支持創(chuàng)建目錄,你需要事先把那么些目錄創(chuàng)建好 。

2,還有一個問題就是小文件的效率問題,可以通過存儲方式中的memcache來解決I/O效率低下的問題

3,session同步問題,session同步有很多種,如果你是存儲在memcached或者M(jìn)ySQL中,那就很容易了,指定到同樣的位置即可,還有一種方法就是在負(fù)載均衡那一層保持會話,把訪問者綁定在某個服務(wù)器上,他的所有訪問都在那個服務(wù)器上就不需要session同步了

6.簡單描述mysql中,索引,主鍵,唯一索引,聯(lián)合索引的區(qū)別,對數(shù)據(jù)庫的性能有什么影響(從讀寫兩方面)

索引就相當(dāng)于對指定的列進(jìn)行排序,排序有利于對該列的查詢,可以大大增加查詢效率

建立索引也是要消耗系統(tǒng)資源,所以索引會降低寫操作的效率

主鍵,唯一,聯(lián)合都屬于索引

主鍵屬于唯一索引,且一個表只能有一個主鍵,主鍵列不允許空值

唯一索引可以一個表中可以有多個,而且允許為空,列中的值唯一

多個字段的多條件查詢多使用聯(lián)合索引

7.MySQL 數(shù)據(jù)庫中 varchar和char的主要區(qū)別是什么,哪種查詢效率更高,為什么?

varchar變長字符串,char定長字符串

Char效率更高,由于不需要對儲存空間計(jì)算后在存儲,所以效率更高

8.解釋MySQL外連接、內(nèi)連接與自連接的區(qū)別

Mysql外連接分為左連接(left join....on)和右連接(right join.... on),左連接是以左表作為條件查詢關(guān)聯(lián)右表數(shù)據(jù),無對應(yīng)數(shù)據(jù)則補(bǔ)空,右連接則相反

Mysql內(nèi)連接(inner join.....on)是做關(guān)聯(lián)查詢時,內(nèi)連接的特性是只顯示符合連接條件的記錄

Mysql自連接:在FROM clause(子句)中我們可以給這個表取不同的別名, 然后在語句的其它需要使用到該別名的地方用dot(點(diǎn))來連接該別名和字段名

9.說說下面這些這些協(xié)議的全稱和中文解釋SMTP、POP3、HTTP、FTP、DNS

Smtp簡單郵件協(xié)議

Pop3郵局協(xié)議

http超文本傳輸協(xié)議

ftp文件傳送協(xié)議

Dns域名解析協(xié)議

10.javascript 包括那些基本數(shù)據(jù)類型?

數(shù)字,字符串,null,undefined,boolean

11.用css、html編寫一個兩列布局的網(wǎng)頁,右側(cè)固定寬度200px,左側(cè)自適應(yīng)

右邊固定200px寬度左邊自適應(yīng)

項(xiàng)目設(shè)計(jì)

假設(shè)有一個包含Tag功能的博客系統(tǒng),數(shù)據(jù)庫存儲采用mysql,用戶數(shù)量為1000萬,預(yù)計(jì)文章總數(shù)為10億,每天有至少10萬的更新量,每天訪問量為5000萬,對數(shù)據(jù)庫的讀寫操作的比例超過10:1。

你如何設(shè)計(jì)該系統(tǒng),以確保其系統(tǒng)高效,穩(wěn)定的運(yùn)行?

提示:可以從數(shù)據(jù)庫設(shè)計(jì),系統(tǒng)框架,及網(wǎng)絡(luò)架構(gòu)方面進(jìn)行描述,可以寫代碼/偽代碼輔助說明,可以自由發(fā)揮

讀寫分離,讀寫服務(wù)器比例10:1,使用分頁查詢減少數(shù)據(jù)庫壓力,靜態(tài)化分頁后使用memcache分布式緩存,減少i/o開銷和數(shù)據(jù)壓力,增刪改時刪除對應(yīng)的靜態(tài)化數(shù)據(jù),通過查詢分頁,分開靜態(tài)化對應(yīng)的分頁信息緩存,數(shù)據(jù)庫分庫分表分區(qū),使用lvs負(fù)載均衡,活躍和不活躍的文章進(jìn)行分表存儲,提高數(shù)據(jù)庫中文章查詢

效率,建立聯(lián)合索引,提高查詢效率,使用中文分詞技術(shù)提高文章內(nèi)容的查詢效率

編寫程序(請任選兩題)

描述順序查找和二分查找(也叫做折半查找)算法,順序查找必須考慮效率,對象可以是一個有序數(shù)組

假設(shè)有"123abc456def789"這么一個字符串,寫一個函數(shù),可以傳入一個字符串,和一個要截取的長度。返回截取后的結(jié)果。

要求:

1 和標(biāo)記不得計(jì)算在長度之內(nèi)。

2 截取后的字符串,要保留原有標(biāo)簽,不過如果最后有一個標(biāo)簽沒有閉合,則去掉其開始標(biāo)簽。

示例:

題中的字符串,要截取長度5,則返回的字符串應(yīng)該為:123ab,要截取長度8,應(yīng)返回123abc45。

function newsubstr($str,$num){

$strNeed = preg_replace(array('//','//'),array('',','),$str);

$arr = explode(',',$strNeed);

$arrCount = array_map('strlen',$arr);

$newstr = '';

if($num < $arrCount[0]+$arrCount[1] && $num >= 0){

$newstr .= ($num<=$arrCount[0]) ? substr($arr[0],0,$num) : substr($arr[0],0,$arrCount[0]).substr($arr[1],0,$num-$arrCount[0]);

}else{

foreach($arr as $key=>$val){

if( $key>1 && $num < array_sum(array_slice($arrCount,0,$key+1)) && $num >= array_sum(array_slice($arrCount,0,$key))){

//echo $key;

$newstr .= $arr[0]."{$arr[1]}";

for($i = 2;$i <= $key; $i++ ){

$newstr .= $i'.$arr[$i].'' : substr($arr[$key],0,$num-array_sum(array_slice($arrCount,0,$key+1)));

}

}

}

if($num >= array_sum($arrCount)){

$newstr = $str;

}

echo $newstr;

}

$str = '123abc456def789';

newsubstr($str,8);

3.一群猴子排成一圈,按1,2,…,n依次編號。然后從第1只開始數(shù),數(shù)到第m只,把它踢出圈,從它后面再開始數(shù),再數(shù)到第m只,在把它踢出去…,如此不停的進(jìn)行下去,直到最后只剩下一只猴子為止,那只猴子就叫做大王。要求編程模擬此過程,輸入m、n, 輸出最后那個大王的編號。用程序模擬該過程。

function monkeyKing($n, $m) { //$n為猴子總數(shù),$m為剔除猴子步長

$s = 0; //$s為大王坐標(biāo),只有一只猴子時,大王坐標(biāo)為0

for($i = 2; $i <= $n; $i++) { //依次向后遞推,求到共有$n只猴子,剔除步長為$m時的大王坐標(biāo)

$s = ($s + $m) % $i; //大王坐標(biāo)遞推公式

}

return $s;

}

echo monkeyKing(6, 2);

4.翻轉(zhuǎn)字符串中的單詞,字符串僅包含大小寫字母和空格,單詞間使用空格分隔。

如:輸入 “This is PHP”,輸出 “PHP is This”

非必要請不要使用PHP自帶函數(shù)

function myrev($str){

$arr = explode(' ',$str);

$num = count($arr);

for($i = 0; $i < $num/2; $i++){

$temp = $arr[$i];

$arr[$i] = $arr[$num-$i-1];

$arr[$num-$i-1] = $temp;

}

return implode(' ',$arr);

}

$str = 'This is PHP';

總結(jié)

以上是生活随笔為你收集整理的php折半查找面试题,php 面试题(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。