1、 下面語句執(zhí)行的結(jié)果是:
回民網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)從2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
A:1 2 3 4
B:1 1 3 4
C:1 2 3 3
D:1 2 3 5
E:以上都不是
答案:B
2、下面那些說法是錯(cuò)誤的:
答案:A
3、array_shift()函數(shù)的作用是?
A 在數(shù)組中新增一個(gè)元素
B 移除數(shù)組中的一個(gè)元素
C 交換一個(gè)數(shù)組的key和value
D 清除一個(gè)數(shù)組
答案:B
4、你將使用下面哪個(gè)函數(shù)來刪除一個(gè)文件?
A unlink()
B delete()
C fdelete()
D: file_delete()
答案:A
5、請(qǐng)看代碼,數(shù)據(jù)庫關(guān)閉指令將關(guān)閉哪個(gè)鏈接標(biāo)識(shí)?
A.$link1
B $link2
C 全部關(guān)閉
D 報(bào)錯(cuò)
答案:B
//mysql_close() 關(guān)閉指定的連接標(biāo)識(shí)所關(guān)聯(lián)的到 MySQL 服務(wù)器的連接。如果沒有指定 link_identifier,則關(guān)閉上一個(gè)打開的連接。
1,
var x=document.getElementById("img1");
var title=document.getElementById("img1").title;
var sina_title=document.getElementById("img1").sina_title;
2,serialize(),unserialize();
3,編碼方式不同,urlencode()將字串以URL編碼。例如空格就會(huì)變成加號(hào)。
rawurlencode()將url編碼成url的字符串專用格式,特殊字符回轉(zhuǎn)換成百分號(hào)后面加兩個(gè)十六子介數(shù)字的格式。
4,strip_tags(),html_entity_decode();
5,$str=preg_replace("/\script.*\.*\\/script\/i","",$str);
6,左連接,左連接的表如果沒有匹配的數(shù)據(jù)不影響結(jié)果。
7
SELECT name,score FROM tl_user LEFT JOIN tl_score ON tl_user.ID=tl_score.ID
7 system(),exec(),passthru()
8,json_decode ,json_encode
9 isset() empty()
10 后者的權(quán)限大于前者,后者是OFF的話,前者就算是E-ALL也沒用。
11,$_SERVER['REMOTE_ADDR'];
12,incov()
echo iconv("gbk",""UTF-8,"我們");
mb_convert_encoding($str, "GBK", "UTF-8")
13 explode() split() ;implode() join()
14 注意事項(xiàng)挺多的,懶得寫。
二
1,超時(shí),服務(wù)器已經(jīng)關(guān)閉連接
2 靜態(tài)表字段長(zhǎng)度固定,自動(dòng)填充,讀寫速度很快,便于緩存和修復(fù),但比較占硬盤,動(dòng)態(tài)表是字段長(zhǎng)度不固定,節(jié)省硬盤,但更復(fù)雜,容易產(chǎn)生碎片,速度慢,出問題后不容易重建。
3InnoDB和MyISAM是在使用MySQL最常用的兩個(gè)表類型,各有優(yōu)缺點(diǎn),視具體應(yīng)用而定。基本的差別為:MyISAM類型不支持事務(wù)處理等高級(jí)處理,而InnoDB類型支持。MyISAM類型的表強(qiáng)調(diào)的是性能,其執(zhí)行數(shù)度比InnoDB類型更快,但是不提供事務(wù)支持,而InnoDB提供事務(wù)支持已經(jīng)外部鍵等高級(jí)數(shù)據(jù)庫功能。
MyIASM是IASM表的新版本,有如下擴(kuò)展:
二進(jìn)制層次的可移植性。
NULL列索引。
對(duì)變長(zhǎng)行比ISAM表有更少的碎片。
支持大文件。
更好的索引壓縮。
更好的鍵嗎統(tǒng)計(jì)分布。
更好和更快的auto_increment處理。
1.MySQL最大的優(yōu)勢(shì)在于MyISAM引擎下的簡(jiǎn)單SELECT,INSERT和UPDATE快速操作
2.MyISAM類型的數(shù)據(jù)文件可以在不同操作系統(tǒng)中COPY,這點(diǎn)很重要,布署的時(shí)候方便點(diǎn)。
以下是一些細(xì)節(jié)和具體實(shí)現(xiàn)的差別:
1.InnoDB不支持FULLTEXT類型的索引。
2.InnoDB 中不保存表的具體行數(shù),也就是說,執(zhí)行select count(*) from table時(shí),InnoDB要掃描一遍整個(gè)表來計(jì)算有多少行,但是MyISAM只要簡(jiǎn)單的讀出保存好的行數(shù)即可。注意的是,當(dāng)count(*)語句包含 where條件時(shí),兩種表的操作是一樣的。
3.對(duì)于AUTO_INCREMENT類型的字段,InnoDB中必須包含只有該字段的索引,但是在MyISAM表中,可以和其他字段一起建立聯(lián)合索引。
4.DELETE FROM table時(shí),InnoDB不會(huì)重新建立表,而是一行一行的刪除。
5.LOAD TABLE FROM MASTER操作對(duì)InnoDB是不起作用的,解決方法是首先把InnoDB表改成MyISAM表,導(dǎo)入數(shù)據(jù)后再改成InnoDB表,但是對(duì)于使用的額外的InnoDB特性(例如外鍵)的表不適用。
另外,InnoDB表的行鎖也不是絕對(duì)的,如果在執(zhí)行一個(gè)SQL語句時(shí)MySQL不能確定要掃描的范圍,InnoDB表同樣會(huì)鎖全表,例如update table set num=1 where name like “%aaa%”
以暫對(duì)存儲(chǔ)引擎的認(rèn)識(shí),覺得 InnoDB 支持外鍵,在數(shù)據(jù)量可以用“龐大”來形容時(shí),在有良好的 INDEX 的基礎(chǔ)上,InnoDB 的查詢速度應(yīng)該比 MyISAM 要快。
在 Falcon 有穩(wěn)定版本前,我想 MyISAM 是一個(gè)可用的選擇方案。
任何一種表都不是萬能的,只用恰當(dāng)?shù)尼槍?duì)業(yè)務(wù)類型來選擇合適的表類型,才能最大的發(fā)揮MySQL的性能優(yōu)勢(shì)
3, 都是1 ^^懶得回答了,睡覺去。
一、寫一個(gè)函數(shù),獲取一篇文章內(nèi)容中的全部圖片,并下載
二、什么是 CSRF 攻擊?XSS 攻擊?如何防范?
CSRF:跨站請(qǐng)求偽造,可以通過通過判斷來源和加 Token 的方式來防范。
XSS:跨站腳本攻擊,可以通過對(duì)內(nèi)容轉(zhuǎn)義和過濾來防范,還有 CSP
三、應(yīng)用中我們經(jīng)常會(huì)遇到在 user 表隨機(jī)調(diào)取 10 條數(shù)據(jù)來展示的情況,簡(jiǎn)述你如何實(shí)現(xiàn)該功能。
四、MYSQL 中主鍵與唯一索引的區(qū)別
主鍵:絕對(duì)不能有空值。唯一索引:可以有空值
五、http 與 https 的主要區(qū)別
關(guān)鍵是 S 上。簡(jiǎn)而言之,https 建立連接后要先把 SSL 的證書發(fā)下去,有了公鑰和私鑰,就可以解密了。
六、兩臺(tái) mysql 服務(wù)器,其中一臺(tái)掛了,怎么讓業(yè)務(wù)端無感切換,并保證正常情況下講臺(tái)服務(wù)器的數(shù)據(jù)是一致的
不是核心業(yè)務(wù)的話,先停寫,把備機(jī)拉起來,查看兩臺(tái)機(jī)器的日志,進(jìn)行數(shù)據(jù)補(bǔ)償,開寫。
如果是核心業(yè)務(wù)的話,現(xiàn)在所有的操作都在正常的狀態(tài)機(jī)器上。把好的這臺(tái)機(jī)器的備機(jī)拉起來,當(dāng)主機(jī)。
以上全是應(yīng)急操作。實(shí)際上數(shù)據(jù)庫的容災(zāi)設(shè)計(jì)要復(fù)雜得多。
面試官要是問你,備機(jī)的數(shù)據(jù)不一致怎么辦,你要勇敢懟回去,你們每秒多少寫入操作。按照百萬級(jí)表,每秒 1000 的寫入效率,正常的設(shè)計(jì)是,分布在 2 臺(tái)機(jī)器上每臺(tái) 500。這個(gè)級(jí)別的數(shù)據(jù)同步,出現(xiàn)差異的概率 可以忽略不計(jì)的。有一臺(tái)出現(xiàn)問題,另一臺(tái)也可以抗住。
(正常的操作,還是先停寫,等數(shù)據(jù)一致,切換,開寫。我們公司搞這些切換都是在凌晨 4.00 左右,核心業(yè)務(wù)的每秒寫操作,只有十幾個(gè)。前后耽擱不到 20 秒)。
七、10 瓶水,其中一瓶有毒,小白鼠喝完有毒的水之后,會(huì)在 24 小時(shí)后死亡,問:最少用幾只小白鼠可以在 24 小時(shí)后找到具體是哪一瓶水有毒。
答案:四只
二進(jìn)制問題。薛定諤的老鼠。
一只老鼠有兩個(gè)狀態(tài),死活,對(duì)應(yīng) 01。假設(shè)老鼠的個(gè)數(shù)為 A,則有 2^A=10; A=4;
思路很簡(jiǎn)單,十瓶藥編號(hào):0,1,10,11….1001;
0 不喝。第一只老鼠喝所有個(gè)位是 1 的:13579,第二只喝十位是 1 的,第三只和百位是 1 的,第四只喝千位是 1 的。
24 小時(shí)后,看下死了的是 1,活著的是 0。按老鼠的順序乖乖站好…… 假如第一只和第三只死了,那就是 0101,就是 5 有問題。
某大公司的PHP面試題
管理提醒: 本帖被 haowubai 執(zhí)行取消置頂操作(2009-07-30)
1. 如何用php的環(huán)境變量得到一個(gè)網(wǎng)頁地址的內(nèi)容?ip地址又要怎樣得到?
[php]
echo $_SERVER ['PHP_SELF'];
echo $_SERVER ['SERVER_ADDR'];
[/php]
2. 求兩個(gè)日期的差數(shù),例如2007-2-5 ~ 2007-3-6 的日期差數(shù)
[php]
$begin=strtotime('2007-2-5');
$end=strtotime('2007-3-6');
echo ($end-$begin)/(24*3600);
[/php]
3. 請(qǐng)寫一個(gè)函數(shù),實(shí)現(xiàn)以下功能:
字符串“open_door” 轉(zhuǎn)換成 “OpenDoor”、”make_by_id” 轉(zhuǎn)換成 ”MakeById”。
[php]
function changeStyle( $str) {
/*$str = str_replace ( "_", " ", $str );
$str = ucwords ( $str );
$str = str_replace ( " ", "", $str );
return $str;*/
$arrStr=explode('_',$str);
foreach($arrStr as $key=$value){
$arrStr[$key]=strtoupper(substr($value,0,1)).substr($value,1);
}
return implode('',$arrStr);
}
$s = "open_door";
echo changeStyle ( $s );
[/php]
4. 要求寫一段程序,實(shí)現(xiàn)以下數(shù)組$arr1轉(zhuǎn)換成數(shù)組$arr2:
[php]$arr1 = array (
'0' = array ('fid' = 1, 'tid' = 1, 'name' ='Name1' ),
'1' = array ('fid' = 1, 'tid' = 2 , 'name' ='Name2' ),
'2' = array ('fid' = 1, 'tid' = 5 , 'name' ='Name3' ),
'3' = array ('fid' = 1, 'tid' = 7 , 'name' ='Name4' ),
'4' = array ('fid' = 3, 'tid' = 9, 'name' ='Name5' )
);
$arr2 = array (
'0' = array (
'0' = array ( 'tid' = 1, 'name' = 'Name1'),
'1' = array ( 'tid' = 2, 'name' = 'Name2'),
'2' = array ( 'tid' = 5, 'name' = 'Name3'),
'3' = array ( 'tid' = 7, 'name' = 'Name4')
),
'1' = array (
'0' = array ( 'tid' = 9, 'name' = 'Name5' )
)
);
?php
$arr1 = array (
'0' = array ('fid' = 1, 'tid' = 1, 'name' ='Name1' ),
'1' = array ('fid' = 1, 'tid' = 2 , 'name' ='Name2' ),
'2' = array ('fid' = 1, 'tid' = 5 , 'name' ='Name3' ),
'3' = array ('fid' = 1, 'tid' = 7 , 'name' ='Name4' ),
'4' = array ('fid' = 3, 'tid' = 9, 'name' ='Name5' )
);
function changeArrayStyle($arr){
foreach($arr as $key=$value){
$result[$value['fid']][]=$value;
}
return array_values($result);
}
$arr2=changeArrayStyle($arr1);
echo "pre";
var_dump($arr2);
[/php]
5. 請(qǐng)簡(jiǎn)述數(shù)據(jù)庫設(shè)計(jì)的范式及應(yīng)用。
一般第3范式就足以,用于表結(jié)構(gòu)的優(yōu)化,這樣做既可以避免應(yīng)用程序過于復(fù)雜同時(shí)也避免了SQL語句過于龐大所造成系統(tǒng)效率低下。
ANSWER:
第一范式:若關(guān)系模式R的每一個(gè)屬性是不可再分解的,再屬于第一范式。
第二范式:若R屬于第一范式,且所有的非碼屬性都完全函數(shù)依賴于碼屬性,則為第二范式。
第三范式:若R屬于第二范式,且所有的非碼屬性沒有一個(gè)是傳遞函數(shù)依賴于候選碼,則屬于第三范式。
6.一個(gè)表中的Id有多個(gè)記錄,把所有這個(gè)id的記錄查出來,并顯示共有多少條記錄數(shù),用SQL語句及視圖、存儲(chǔ)過程分別實(shí)現(xiàn)。
存儲(chǔ)過程:
[php]
DELIMITER //
create procedure proc_countNum(in columnId int,out rowsNo int)
begin
select count(*) into rowsNo from member where member_id=columnId;
end
call proc_countNum(1,@no);
select @no;
[/php]
視圖:
create view v_countNum as select member_id,count(*) as countNum from member group by member_id
select countNum from v_countNum where member_id=1
7 表中有A B C三列,用SQL語句實(shí)現(xiàn):當(dāng)A列大于B列時(shí)選擇A列否則選擇B列,當(dāng)B列大于C列時(shí)選擇B列否則選擇C列。
[php]select
case
when first_namemiddle_name then
case when first_namelast_name then first_name
else last_name end
else
case when middle_namelast_name then middle_name else last_name
end
end as name
from member
[/php]
8請(qǐng)簡(jiǎn)述項(xiàng)目中優(yōu)化sql語句執(zhí)行效率的方法,從哪些方面,sql語句性能如何分析?
ANSWER: sql優(yōu)化有鳥用,不如直接加索引。
9 如果模板是用smarty模板。怎樣用section語句來顯示一個(gè)名為$data的數(shù)組。比如:
[php]$data = array(
[0] = array( [id]=8 [name]=’name1′)
[1] = array( [id]=10 [name]=’name2′)
[2] = array( [id]=15 [name]=’name3′)
……
)[/php]
寫出在模板頁的代碼? 若用foreach語句又要怎樣顯示呢?
占無答案.
10 寫一個(gè)函數(shù),能夠遍歷一個(gè)文件夾下的所有文件和子文件夾。(目錄操作)
[php] ?php
$d = dir(dirname(__file__));
//echo "Handle: " . $d-handle . "\n";
//echo "Path: " . $d-path . "\n";
while ( false !== ($entry = $d-read ()) ) {
echo $entry . "br /";
}
$d-close ();
[/php]
11 兩張表 city表和province表。分別為城市與省份的關(guān)系表。
city:
id City Provinceid
1 廣州 1
2 深圳 1
3 惠州 1
4 長(zhǎng)沙 2
5 武漢 3
………. 廣州
province:
id Province
1 廣東
2 湖南
3 湖北
……….
(1) 寫一條sql語句關(guān)系兩個(gè)表,實(shí)現(xiàn):顯示城市的基本信息。?
(2) 顯示字段:城市id ,城市名, 所屬省份 。
如:
Id(城市id) Cityname(城市名) Privence(所屬省份)
。。。。。。。。。
。。。。。。。。。
(2)如果要統(tǒng)計(jì)每個(gè)省份有多少個(gè)城市,請(qǐng)用group by 查詢出來。?
顯示字段:省份id ,省份名,包含多少個(gè)城市。
ANSWER:
1.select A.id,A.Cityname,B.Province from city A,province B where A.provinceid=B.id
2.select B.id,B.Province,count(*) as num from city A,province B where A.provinceid=B.id group by B.id
12. 按照你的經(jīng)驗(yàn)請(qǐng)簡(jiǎn)述軟件工程進(jìn)行軟件開發(fā)的步驟。以下工具Rational Rose、PowerDesigner、Project、VSS或CVS、TestDirector使用過那種,有缺點(diǎn)是什么?
公司用dbdesigner及cvs,測(cè)試管理工具用的是Mantis
13. 請(qǐng)簡(jiǎn)述操作系統(tǒng)的線程與進(jìn)程的區(qū)別。列舉LINUX下面你使用過的軟件?
14. 請(qǐng)使用偽語言結(jié)合數(shù)據(jù)結(jié)構(gòu)冒泡排序法對(duì)以下一組數(shù)據(jù)進(jìn)行排序 10 2 36 14 10 25 23 85 99 45。
[php]function bubble_sort( $arr){
$number=count($arr);
for($i=0;$i$number-1;$i++){
for($j=0;$j$number-1-$i;$j++){
if($arr[$j]$arr[$j+1]){
$tmp=$arr[$j];
$arr[$j]=$arr[$j+1];
$arr[$j+1]=$tmp;
}
}
}
}
$str="10 2 36 14 10 25 23 85 99 45";
$arr=explode(" ",$str);
bubble_sort($arr);
echo "pre";
var_dump($arr);
[/php]
當(dāng)前文章:php數(shù)據(jù)庫面試題及答案大全 php數(shù)據(jù)庫設(shè)計(jì)
地址分享:http://www.muchs.cn/article28/doejojp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、自適應(yīng)網(wǎng)站、定制網(wǎng)站、微信公眾號(hào)、云服務(wù)器、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)