php經典面試題與答案
- 時間:2016-02-29 16:06:23來源:網絡
1,禁用cookie 后 seesion 還能用嗎?
2,抓取遠程圖片到本地,你會用什么函數?
3,已知姓名a,姓名b,給一個求他們緣份的算法
4,你覺得在pv10w的時候, 同等配置下,lunix 比win快多少?
5,簡述post 和get傳輸的最大容量分別是多少?
6,用最少的代碼寫一個求3值最大值的函數.
答:1、cookie是保存在本地的,而seesion是保存在服務器上的。所以兩者沒有直接的關系,禁用cookie后seesion依然可以用。
2、用file_get_contents函數,ex:
$img = file_get_contents('http://www.xfcodes.com/ img/baidu_logo.gif');
file_put_contents('1.gif',$img);
echo '<img src="1.gif">';
?>
3、
<?php
function is_gfriend($na,$nb)
{
$random1=rand(1,5);//計算他們有1/5的緣分
$random2=rand(1,5);
if ($random1==$random2)
return $na."+".$nb."你們有緣分";
else
return $na."+".$nb."可惜無緣份";
}
echo is_gfriend(a,b);
?>
4、
公司面試題之:百度web開發工程師筆試題】
第一部分:
1.解釋下面語句的意思:document.form["formname"].submit;
2.有下面語句:
<input id="txt" type="text" value="baidu" />
編寫代碼,當鼠標划過文本框,自動選中文本框中的內容。
3.將字符09轉換成十進制數字。www.xfcodes.com
4.將1234567890轉換成1,234,567,890 每3位用逗號隔開的形式。
5.關於html和css的,忘記了。
6.在文本框中輸入一個年份,判斷其生肖,並輸出在文本框旁邊。
對html和javaservlet都要求寫出。
7.ajax從服務器取數據 {id:123, name:"baidu", username:"mm",checked:true};
分析name對應的值("baidu").(題目較長,不記得了)
8.談關於客戶體驗的問題。(腳本學堂 www.jbxue.com 編輯整理)
答案:1、獲取formname表單submit按鈕元素。
2、
3、
$a="09";
echo ( int ) $a;
echo "<br>";
echo intval("09");
?>
4、
$num = preg_replace('/(?<=[0-9])(?=(?:[0-9]{3})+(?![0-9]))/', ',', $num);
echo $num; ?>
6、
switch ($t)
{
case 1986:
echo "牛";
break;
case "":
break;
case "":
break;
……
}
8、從滿意度、忍受度、回饋度分析。
第二部分:
1.ajax,數據庫觸發器,gui,中斷機制的共同思想。談一談該種思想(機制)。
2.把一篇英文文檔中所有單詞的首字母轉為大寫,文檔存在doc.txt中。可以在多種編程語言中選擇(c\c++,java,php...)寫出你的思路,盡量優化你的程序。
3.關於樹的數據結構.
4.數據庫優化:
有一個表 product(id,name,price,count);
在執行一下查詢的時候速度總是很慢:
select * from product where price=100;
在price字段上加上一個非聚簇索引,查詢速度還是很慢。
(1)分析查詢慢的原因。
(2)如何進行優化。
5.
topicid int not null primary key auto_increment,
title text,
author varchar(30),
content blob,
isdeleted int
...... //好像在author上定義了一個索引
}
create table reply{
topicid int foreign key,
replyid int primary key auto_increment,
replyauthor varchar(30),
replytime datetime,
context blob
....... //定義了一個索引和key
}
一個為主題表,一個為回復表。
1.問從性能上考慮,這樣做有什么不足。
2.查詢回復時間不超過一個特定的時間段,回復的作者名字以mike開頭的主題
的title,以如下的查詢: (腳本學堂 www.jbxue.com 編輯整理)
replyauthor like 'mike%' and (currenttime()-replytime<specialtime))
從性能上考慮上述的查詢語句有什么不足?
如何進行優化?
答案:1、數據庫觸發器和中斷機制是數據庫自動完成的,而ajax觸發器是用戶激發的。ajax把gui和數據庫異步優化。
2、
$fp=fopen("aa.txt",'r'); //英文文檔aa.txt
while(!feof($fp)){
$char=fgets($fp);
}
$e= explode(",",$char);
$write=fopen("doc.txt",'w');//沒有doc.txt則創建
foreach ($e as $w)
{
if($w==$e[count($e)-1])//最后一個單詞沒有逗號輸入if($w==end($e))
$w=ucwords($w);//第一個字母轉大寫
else
$w=ucwords($w).",";
echo $w;
fwrite($write,$w);//寫入doc.txt 文檔中
}
fclose($write);
fclose($fp);
?>