php數(shù)據(jù)結(jié)構(gòu)算法面試 php數(shù)據(jù)庫面試題

PHP程序員上機(jī)面試題(并附答案,回答好的加分)

某大公司的PHP面試題

成都創(chuàng)新互聯(lián)主要從事成都網(wǎng)站建設(shè)、成都做網(wǎng)站、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)隆堯,十多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220

管理提醒: 本帖被 haowubai 執(zhí)行取消置頂操作(2009-07-30)

1. 如何用php的環(huán)境變量得到一個網(wǎng)頁地址的內(nèi)容?ip地址又要怎樣得到?

[php]

echo $_SERVER ['PHP_SELF'];

echo $_SERVER ['SERVER_ADDR'];

[/php]

2. 求兩個日期的差數(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. 請寫一個函數(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. 請簡述數(shù)據(jù)庫設(shè)計(jì)的范式及應(yīng)用。

一般第3范式就足以,用于表結(jié)構(gòu)的優(yōu)化,這樣做既可以避免應(yīng)用程序過于復(fù)雜同時也避免了SQL語句過于龐大所造成系統(tǒng)效率低下。

ANSWER:

第一范式:若關(guān)系模式R的每一個屬性是不可再分解的,再屬于第一范式。

第二范式:若R屬于第一范式,且所有的非碼屬性都完全函數(shù)依賴于碼屬性,則為第二范式。

第三范式:若R屬于第二范式,且所有的非碼屬性沒有一個是傳遞函數(shù)依賴于候選碼,則屬于第三范式。

6.一個表中的Id有多個記錄,把所有這個id的記錄查出來,并顯示共有多少條記錄數(shù),用SQL語句及視圖、存儲過程分別實(shí)現(xiàn)。

存儲過程:

[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列時選擇A列否則選擇B列,當(dāng)B列大于C列時選擇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請簡述項(xiàng)目中優(yōu)化sql語句執(zhí)行效率的方法,從哪些方面,sql語句性能如何分析?

ANSWER: sql優(yōu)化有鳥用,不如直接加索引。

9 如果模板是用smarty模板。怎樣用section語句來顯示一個名為$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 寫一個函數(shù),能夠遍歷一個文件夾下的所有文件和子文件夾。(目錄操作)

[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 長沙 2

5 武漢 3

………. 廣州

province:

id Province

1 廣東

2 湖南

3 湖北

……….

(1) 寫一條sql語句關(guān)系兩個表,實(shí)現(xiàn):顯示城市的基本信息。?

(2) 顯示字段:城市id ,城市名, 所屬省份 。

如:

Id(城市id) Cityname(城市名) Privence(所屬省份)

。。。。。。。。。

。。。。。。。。。

(2)如果要統(tǒng)計(jì)每個省份有多少個城市,請用group by 查詢出來。?

顯示字段:省份id ,省份名,包含多少個城市。

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)請簡述軟件工程進(jìn)行軟件開發(fā)的步驟。以下工具Rational Rose、PowerDesigner、Project、VSS或CVS、TestDirector使用過那種,有缺點(diǎn)是什么?

公司用dbdesigner及cvs,測試管理工具用的是Mantis

13. 請簡述操作系統(tǒng)的線程與進(jìn)程的區(qū)別。列舉LINUX下面你使用過的軟件?

14. 請使用偽語言結(jié)合數(shù)據(jù)結(jié)構(gòu)冒泡排序法對以下一組數(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]

大廠數(shù)據(jù)分析面試題,大數(shù)據(jù)結(jié)構(gòu)化面試?

作為程序員,你認(rèn)為代碼只要實(shí)現(xiàn)功能就可以了嗎?

其實(shí),工作2~3年后,你會發(fā)現(xiàn)隨著工作的深入,工作中遇到的問題會變大,處理的數(shù)據(jù)量也會變大。

一開始,我可能會耐心加班,等機(jī)器處理好了再回家,但最后,處理完這些數(shù)據(jù)通常是在深夜。

面對這樣的問題,其實(shí)可以用數(shù)據(jù)結(jié)構(gòu)解決。 仔細(xì)整理開發(fā)中遇到的問題,會發(fā)現(xiàn)很多工作中的問題,用簡單的邏輯就能解決。

舉個例子,你很熟悉。 如何實(shí)時統(tǒng)計(jì)99%的業(yè)務(wù)接口響應(yīng)時間?

您可能會首先想到,每次查詢時,都會按照從小到大的順序?qū)λ许憫?yīng)時間進(jìn)行排序。 如果總共有1200個數(shù)據(jù),第1188個數(shù)據(jù)將有99%的響應(yīng)時間。

很明顯,每次用這種方法查詢都要排序,效率非常低。

但是,如果知道“堆”數(shù)據(jù)結(jié)構(gòu),兩個堆就可以非常有效地解決這個問題。

因此,數(shù)據(jù)結(jié)構(gòu)是提高我們程序員工作效率的利器!

另外,已經(jīng)工作了2到3年的你,可能想跳槽進(jìn)入大工廠。

但是,當(dāng)你去面試時,你經(jīng)常會碰到數(shù)據(jù)結(jié)構(gòu)和算法的主題。

目前,數(shù)據(jù)結(jié)構(gòu)和算法是許多知名企業(yè)面試的必考問題。

國內(nèi)外各大互聯(lián)網(wǎng)公司在面試過程中,都多少聽說了一些有關(guān)數(shù)據(jù)結(jié)構(gòu)和算法的主題。

而且,規(guī)模越大的公司,越重視數(shù)據(jù)結(jié)構(gòu)和算法。

例如,2019年6月,阿里面試中涉及的數(shù)據(jù)結(jié)構(gòu)主題:

2019年華為面試涉及的數(shù)據(jù)結(jié)構(gòu)主題:

目前,許多中小企業(yè)的面試問題都涉及數(shù)據(jù)結(jié)構(gòu)知識。

其實(shí),你會發(fā)現(xiàn),即使是大小公司,為了篩選更優(yōu)秀的人才,面試問題的難度也會越來越大。

因此,數(shù)據(jù)結(jié)構(gòu)是進(jìn)入大廠的重要門檻。

總之,如果你想提高工作效率,進(jìn)入更大的公司,數(shù)據(jù)結(jié)構(gòu)和算法是你必須跨越的一道坎。

從易傳傳媒、亞信、奧鵬教育、程序員到架構(gòu)師再到技術(shù)經(jīng)理樊延欣老師,前后六年通過各種工作方式打好數(shù)據(jù)結(jié)構(gòu)基礎(chǔ),在過程中梳理了許多心得,進(jìn)行了深入思考。

和樊延欣老師一起,死戰(zhàn)數(shù)據(jù)結(jié)構(gòu),跳過代碼陷阱,盡快完成數(shù)據(jù)結(jié)構(gòu)通關(guān),有機(jī)會升職更好。

掃描堆場上的二維碼,點(diǎn)擊組,立即搶購

原價69元,限時優(yōu)惠49元

老師怎么解釋這門課?#

老師介紹枯燥抽象的結(jié)構(gòu)規(guī)則用詳細(xì)的方法映射到實(shí)際項(xiàng)目中。 然后盡量脫離復(fù)雜的數(shù)學(xué)基礎(chǔ),在許多常見的應(yīng)用場合映射相關(guān)理論,降低學(xué)習(xí)者的理解門檻,使其零基礎(chǔ)也能學(xué)習(xí)。

同時,該課程至少涵蓋了50%常見互聯(lián)網(wǎng)公司中數(shù)據(jù)結(jié)構(gòu)方面的面試問題綱領(lǐng),序列和棧是基礎(chǔ)性主題,樹是更高級的主題,可以理解和把握,發(fā)揮面試信心,更上一層樓

#課程介紹#

#我能得到什么? #

1、提高編程效率和質(zhì)量

熟悉數(shù)據(jù)結(jié)構(gòu)原理,復(fù)雜的項(xiàng)目無需為需求實(shí)現(xiàn)原理而煩惱。

2、優(yōu)化能力提升

隨著了解的加深,能夠發(fā)現(xiàn)與工作中數(shù)據(jù)結(jié)構(gòu)特性相違背的代碼,并具有優(yōu)化修改的能力。

3、提高面試成功率

學(xué)習(xí)50%以上互聯(lián)網(wǎng)公司數(shù)據(jù)結(jié)構(gòu)的面試問題綱領(lǐng),提高面試合格率。

#使用者群組#

1、開發(fā)業(yè)務(wù)系統(tǒng)2年,有相關(guān)項(xiàng)目經(jīng)驗(yàn),不斷重復(fù)制作業(yè)務(wù)車輪希望提高的程序員。

有2、3~5年開發(fā)經(jīng)驗(yàn),但基礎(chǔ)不牢固,想改變體系結(jié)構(gòu)的程序員。

3、基礎(chǔ)扎實(shí),需要大量用例和思考才能鞏固基礎(chǔ)的優(yōu)秀畢業(yè)生/在校生。

#新課初優(yōu)惠#

限時49元

(成本69 )。

每百人加價十元

第26節(jié)課,平均每課2元,持續(xù)一個月,改變報關(guān)大廠面試機(jī)會

享受七折的折扣

自考/成考有疑問、不知道自考/成考考點(diǎn)內(nèi)容、不清楚當(dāng)?shù)刈钥?成考政策,點(diǎn)擊底部咨詢官網(wǎng)老師,免費(fèi)領(lǐng)取復(fù)習(xí)資料:

PHP面試有什么技巧么?

PHP程序員在面試的時候一般應(yīng)該抓住以下幾個點(diǎn)。

一、應(yīng)該介紹自己掌握的開發(fā)一種,主要介紹PHP語言的獨(dú)特語法以及如何使用,比如PHP語言會比CGI更快的執(zhí)行動態(tài)頁面。

二、必須熟悉Oracle、Mysql等數(shù)據(jù)庫,并能簡單的介紹自己掌握的程度。由于php做出的動態(tài)頁面比用其他語言做出來的頁面在執(zhí)行效率以及CGI方面高得多,所以你還需要在面試中說出自己的文檔撰寫能力很強(qiáng)。

三、PHP程序員應(yīng)該具備獨(dú)立分析和解決問題的能力,可以在自我介紹中講講自己曾經(jīng)遇到過的問題是如何解決的。讓面試官看到你的能力,這將會直接影響到你自我介紹的成功與否。

四、一個PHP程序員必須有良好的職業(yè)道德和工作態(tài)度,所以在面試中應(yīng)該盡量講自己在做項(xiàng)目時的認(rèn)真態(tài)度以及今后的工作規(guī)劃,表現(xiàn)出自己的進(jìn)取心。

五、還有關(guān)于溝通能力和理解能力的體現(xiàn),這個在與HR的交談中就可以表現(xiàn)出來,所以需要做的工作就是從容的有條理的把自我介紹說完,回答每一個問題時都應(yīng)該簡潔明了,關(guān)于自我介紹可以提前做個草稿,背一下。

六、團(tuán)隊(duì)合作能力也是企業(yè)非??粗氐?,在培訓(xùn)中老師一般都會帶領(lǐng)大家做項(xiàng)目,大的項(xiàng)目一般會分小組,每個人都有相對應(yīng)的任務(wù),這就模擬了公司中的團(tuán)隊(duì)合作,在自我介紹過程中要把做項(xiàng)目的具體流程以及相互協(xié)作的過程說出來,讓HR看到自己具備團(tuán)隊(duì)合作的能力。

七、最后就是執(zhí)行力,每當(dāng)任務(wù)分配下來的時候該如何執(zhí)行,還有自己講過職業(yè)規(guī)劃后該如何執(zhí)行,還有在學(xué)習(xí)的過程中是如何人字形的,遇到困難又是如何執(zhí)行的,這些都可以體現(xiàn)出php程序員的執(zhí)行力,回答的時候抓住發(fā)現(xiàn)及時尋找原因,快速展開行動的這個主線即可。

八、最重要的是你的能力、技術(shù)以及自己的項(xiàng)目

PHP面試都會問什么?

簡單的列出10點(diǎn)供你參考吧

1、php基礎(chǔ)知識

2、常用函數(shù)使用

3、排序算法

4、引用變量的理解

5、session cookie 的理解

6、http請求 get post php://input 使用

7、mysql數(shù)據(jù)庫鏈表查詢,索引優(yōu)化方案等

8、linux基本命名的使用 crontab,grep ,tail等

9、緩存 redis,memcached等的使用

10、市場上常用的流行PHP框架掌握,熟悉情況

網(wǎng)站名稱:php數(shù)據(jù)結(jié)構(gòu)算法面試 php數(shù)據(jù)庫面試題
文章地址:http://muchs.cn/article10/ddiisdo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、搜索引擎優(yōu)化、移動網(wǎng)站建設(shè)、域名注冊網(wǎng)站導(dǎo)航、自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)