欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

phpnosql面試題,mysqlsql語句面試題

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

某大公司的PHP面試題

在海拉爾等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供做網(wǎng)站、成都網(wǎng)站建設(shè) 網(wǎng)站設(shè)計制作按需網(wǎng)站建設(shè),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計,成都營銷網(wǎng)站建設(shè),外貿(mào)網(wǎng)站制作,海拉爾網(wǎng)站建設(shè)費用合理。

管理提醒: 本帖被 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ù),實現(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. 要求寫一段程序,實現(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è)計的范式及應(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語句及視圖、存儲過程分別實現(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語句實現(xiàn):當A列大于B列時選擇A列否則選擇B列,當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請簡述項目中優(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)系兩個表,實現(xiàn):顯示城市的基本信息。?

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

如:

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

。。。。。。。。。

。。。。。。。。。

(2)如果要統(tǒng)計每個省份有多少個城市,請用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)驗請簡述軟件工程進行軟件開發(fā)的步驟。以下工具Rational Rose、PowerDesigner、Project、VSS或CVS、TestDirector使用過那種,有缺點是什么?

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

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

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

php面試題解答

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編碼。例如空格就會變成加號。

rawurlencode()將url編碼成url的字符串專用格式,特殊字符回轉(zhuǎn)換成百分號后面加兩個十六子介數(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 注意事項挺多的,懶得寫。

1,超時,服務(wù)器已經(jīng)關(guān)閉連接

2 靜態(tài)表字段長度固定,自動填充,讀寫速度很快,便于緩存和修復(fù),但比較占硬盤,動態(tài)表是字段長度不固定,節(jié)省硬盤,但更復(fù)雜,容易產(chǎn)生碎片,速度慢,出問題后不容易重建。

3InnoDB和MyISAM是在使用MySQL最常用的兩個表類型,各有優(yōu)缺點,視具體應(yīng)用而定。基本的差別為:MyISAM類型不支持事務(wù)處理等高級處理,而InnoDB類型支持。MyISAM類型的表強調(diào)的是性能,其執(zhí)行數(shù)度比InnoDB類型更快,但是不提供事務(wù)支持,而InnoDB提供事務(wù)支持已經(jīng)外部鍵等高級數(shù)據(jù)庫功能。

MyIASM是IASM表的新版本,有如下擴展:

二進制層次的可移植性。

NULL列索引。

對變長行比ISAM表有更少的碎片。

支持大文件。

更好的索引壓縮。

更好的鍵嗎統(tǒng)計分布。

更好和更快的auto_increment處理。

1.MySQL最大的優(yōu)勢在于MyISAM引擎下的簡單SELECT,INSERT和UPDATE快速操作

2.MyISAM類型的數(shù)據(jù)文件可以在不同操作系統(tǒng)中COPY,這點很重要,布署的時候方便點。

以下是一些細節(jié)和具體實現(xiàn)的差別:

1.InnoDB不支持FULLTEXT類型的索引。

2.InnoDB 中不保存表的具體行數(shù),也就是說,執(zhí)行select count(*) from table時,InnoDB要掃描一遍整個表來計算有多少行,但是MyISAM只要簡單的讀出保存好的行數(shù)即可。注意的是,當count(*)語句包含 where條件時,兩種表的操作是一樣的。

3.對于AUTO_INCREMENT類型的字段,InnoDB中必須包含只有該字段的索引,但是在MyISAM表中,可以和其他字段一起建立聯(lián)合索引。

4.DELETE FROM table時,InnoDB不會重新建立表,而是一行一行的刪除。

5.LOAD TABLE FROM MASTER操作對InnoDB是不起作用的,解決方法是首先把InnoDB表改成MyISAM表,導入數(shù)據(jù)后再改成InnoDB表,但是對于使用的額外的InnoDB特性(例如外鍵)的表不適用。

另外,InnoDB表的行鎖也不是絕對的,如果在執(zhí)行一個SQL語句時MySQL不能確定要掃描的范圍,InnoDB表同樣會鎖全表,例如update table set num=1 where name like “%aaa%”

以暫對存儲引擎的認識,覺得 InnoDB 支持外鍵,在數(shù)據(jù)量可以用“龐大”來形容時,在有良好的 INDEX 的基礎(chǔ)上,InnoDB 的查詢速度應(yīng)該比 MyISAM 要快。

在 Falcon 有穩(wěn)定版本前,我想 MyISAM 是一個可用的選擇方案。

任何一種表都不是萬能的,只用恰當?shù)尼槍I(yè)務(wù)類型來選擇合適的表類型,才能最大的發(fā)揮MySQL的性能優(yōu)勢

3, 都是1 ^^懶得回答了,睡覺去。

應(yīng)屆畢業(yè)生面試php會提哪些問題

這個一般都比較簡單,我列出下面幾點你可以作為參考:

數(shù)據(jù)庫的增刪改查,基本會使用,深入點會問你怎么優(yōu)化sql語句和配置項。

簡單的數(shù)據(jù)庫表設(shè)計

php的函數(shù)熟悉情況,數(shù)組和字符串函數(shù)的了解程度

session的使用場景

js的異步請求(一般會考jquery),dom對象的獲取和簡單操作。

最后就是php框架,是否了解mvc思想,和會使用哪些框架

基本就這些了,深入的緩存一般不會考的,比如memcache,nosql之類的

PHP面試有什么技巧么?

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

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

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

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

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

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

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

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

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

如何面試 PHP 工程師

問一些日常的正常的PHP問題,主要是考察應(yīng)聘者的認知:

一個包含中英文的字符串如何獲得它的自然長度(看看ta是否有encoding的知識和意識)

問一問什么是ORM,有時候會問這個詞的英文全稱是什么,問問ta對于ORM有什么個人的看法?(看看ta學習細不細,有沒有技術(shù)判斷,PHP開發(fā)人員應(yīng)該知道什么時候使用ORM)

問一問假如ta要自己去實現(xiàn)一個framework,ta會怎么設(shè)計。(看看ta對代碼架構(gòu)的理解,對MVC的理解)

問一問framework設(shè)計里的url dispatcher他會怎么考慮。(HTTP知識)

問一問ta對框架本身的看法

了解一下ta對Design Pattern的認知,比如Singleton,Observer,F(xiàn)actory等常用的設(shè)計模式,問一問ta對設(shè)計模式本身的看法。

問兩三個數(shù)據(jù)庫設(shè)計的問題

問幾個前端的問題,哪怕ta的職位是PHP開發(fā)人員,好的PHP人員不可能不了解前端,而且很可能很了解前端

問一問ta對noSQL的了解情況(對與noSQL的認識是和傳統(tǒng)Relational DB的認知是分不開的)

問一問ta碰到問題時候會如何去尋找答案

問一問ta習慣使用哪一個搜索引擎(如果是就有加分)

問一問ta最近看的書

問一問ta的職業(yè)規(guī)劃,喜歡做什么,對工作環(huán)境有什么要求

別出生僻的題,別為難人家,更不要變相的侮辱人家,正常交流為主,你要的是一個正常的人,優(yōu)秀不優(yōu)秀就看你的眼光和運氣了。

很多公司的技術(shù)人員招聘會刻意追求刺激的問題,比如很著名的微軟的“下水道的蓋子為什么是圓的”,不是說這些考察毫無道理,但更多的是一種“marketing”的手段。

程序員面試必備PHP基礎(chǔ)面試題 – 第十一天

一、兩張表 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)系兩個表,實現(xiàn):顯示城市的基本信息。顯示字段:城市id ,城市名, 所屬省份 。

如:

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

2、如果要統(tǒng)計每個省份有多少個城市,請用group by 查詢出來。顯示字段:省份id ,省份名,包含多少個城市。

二、主鍵 和外鍵表示什么?一般用于做什么?

主鍵:能夠唯一表示數(shù)據(jù)表中的每個記錄的字段或者字段的組合就稱為主鍵。一個主鍵是唯一識別一個表的每一行記錄,但這只是其作用的一療分,主鍵的主要作用是將記錄和存放在其他表中的數(shù)據(jù)進行關(guān)聯(lián),在這一點上,主鍵是不同表中各記錄間的簡單指針,主鍵約整就是確定表中的每一條記錄,主鍵不能是空值,唯一約束是用于指定一個或多個列的組合值具有唯一性,以防止在列中輸入重復(fù)的值,所以,主鍵的值對用戶而言是沒有什么意義,并且和它賦予的值也沒有什么特別聯(lián)系。

外鍵:若有兩個表A,B,C是A的主鍵,而B中也有C字段,則C就是表B的外鍵,外鍵約束主要用來維護兩個表之間數(shù)據(jù)的一致性。A為基本表,B為信息表。

在數(shù)據(jù)庫中,常常不只是一個表,這些表之間也不是相互獨立的,不同的表之間需要建立一種關(guān)系,才能將它們的數(shù)據(jù)相互溝通,而在這個溝通過程中,就需要表中有一個字段作為標志,不同的記錄對應(yīng)的字段取值不能相同,也不能是空白的,通過這個字段中不同的值可以區(qū)別各條記錄,就像我們區(qū)別不同的人,每個人都有名字,但它卻不能作為主鍵,因為人名很容易出現(xiàn)重復(fù),而身份證號是每個人都不同的,所以可以根據(jù)它來區(qū)別不同的人,數(shù)據(jù)庫的表中作為主鍵的段段就要像人的身份證號一樣,必須是每個記錄的值都不同,這才能根據(jù)

主鍵的值來確定不同的記錄。

關(guān)系:外鍵一定是另外某個表的主鍵。

三、select now(),Date_ADD(now(),INTERVAL 14 day),Date_SUB(now(),INTERVAL 3 Day) from table; 會獲得什么內(nèi)容,請寫出來。

會獲得三條數(shù)據(jù):

第一條:當前時間;

第二條:當前時間加上14天;

第三條:當前時間減去3天。

四、您所知道的MYSQL 數(shù)據(jù)庫備份,還原方式有哪幾種?

備份:

一,搭建主從架構(gòu),master-slave,通過binlog文件同步復(fù)制主庫的數(shù)據(jù),也可以直接通過binlog文件恢復(fù)數(shù)據(jù)。

二,通過系統(tǒng)計劃任務(wù)執(zhí)行mysqldump做周期性全備份。

三,物理備份,直接拷貝數(shù)據(jù)文件、參數(shù)文件、日志文件。

還原:

一.通過mysql操作工具,如phpmyadmin,sqlyog等導入備份過的數(shù)據(jù)庫文件。

二.將物理備份的文件拷貝到mysql的data目錄下

五、內(nèi)容管理系統(tǒng)中,表message有如下字段

id 文章id

title 文章標題

content 文章內(nèi)容

category_id 文章分類id

hits 點擊量

創(chuàng)建上表,寫出MySQL語句

六、同樣上述內(nèi)容管理系統(tǒng):表comment記錄用戶回復(fù)內(nèi)容,字段如下

comment_id 回復(fù)id

id 文章id,關(guān)聯(lián)message表中的id

comment_content 回復(fù)內(nèi)容

現(xiàn)通過查詢數(shù)據(jù)庫需要得到以下格式的文章標題列表,并按照回復(fù)數(shù)量排序,回復(fù)最高的排在最前面

文章id 文章標題 點擊量 回復(fù)數(shù)量

用一個SQL語句完成上述查詢,如果文章沒有回復(fù)則回復(fù)數(shù)量顯示0

七、內(nèi)容管理系統(tǒng),表category保存分類信息,字段如下

category_id int(4) not null auto_increment;

category_name varchar(40) not null;

用戶輸入文章時,通過選擇下拉菜單選定文章分類

寫出如何實現(xiàn)這個下拉菜單

八、PHP文件操作

1、內(nèi)容管理系統(tǒng):用戶提交內(nèi)容后,系統(tǒng)生成靜態(tài)HTML頁面;寫出實現(xiàn)的基本思路

2、簡單描述用戶修改發(fā)布內(nèi)容的實現(xiàn)流程和基本思路

1)當用戶提交后生成一個由url地址MD5后的文件的編譯頁面,用文件處理file函數(shù)生成一個模板合成頁,判斷模板編譯頁是否有,模板頁無或者編譯頁的創(chuàng)建時間戳小于模板頁的修改時間都會從新生成編譯頁面,編譯后的頁面會調(diào)用對應(yīng)數(shù)據(jù)庫的值顯示在頁面中,通過對內(nèi)存數(shù)據(jù)的讀取釋放,顯示出我們看到的靜態(tài)數(shù)據(jù),然后用file文件將其保存起來生成靜態(tài)的頁面

2)當用戶修改了發(fā)布內(nèi)容都會修改數(shù)據(jù)相關(guān)的內(nèi)容,并通過編譯頁面更新靜態(tài)數(shù)據(jù)并用文件的方式緩存起來,當用戶查看時將不做任何數(shù)據(jù)庫查找,直接調(diào)用該緩存文件即可

分享題目:phpnosql面試題,mysqlsql語句面試題
網(wǎng)址分享:http://chinadenli.net/article15/dsecddi.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT靜態(tài)網(wǎng)站域名注冊網(wǎng)站建設(shè)全網(wǎng)營銷推廣企業(yè)建站

廣告

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

外貿(mào)網(wǎng)站制作