當前位置:首頁 » 編程語言 » 百度php面試題

百度php面試題

發布時間: 2023-08-24 06:52:13

php基礎面試題 – 第三天

1、 下面語句執行的結果是:

A:1 2 3 4
B:1 1 3 4
C:1 2 3 3
D:1 2 3 5
E:以上都不是

答案:B

2、下面那些說法是錯誤的:

答案:A

3、array_shift()函數的作用是?

A 在數組中新增一個元素
B 移除數組中的一個元素
C 交換一個數組的key和value
D 清除一個數組

答案:B

4、你將使用下面哪個函數來刪除一個文件?

A unlink()
B delete()
C fdelete()
D: file_delete()

答案:A

5、請看代碼,資料庫關閉指令將關閉哪個鏈接標識?

A.$link1
B $link2
C 全部關閉
D 報錯

答案:B
//mysql_close() 關閉指定的連接標識所關聯的到 MySQL 伺服器的連接。如果沒有指定 link_identifier,則關閉上一個打開的連接。

⑵ 程序員面試必備PHP基礎面試題 – 第十三天

一、在HTTP1.0中,狀態嗎500的含義的是什麼?如果返回「找不到文件」的提示,則可用header(函數),其語句為?

500 Internal Server Error 伺服器遇到了意料不到的情況,不能完成客戶的請求
Header(「 HTTP/1.0 404 NOT FOUND」);

二、數組函數arsort()的作用是什麼?語句err_reporting(2047)的作用是什麼?

arsort:對數組進行逆向排序並保持索引關系;
error_reporting(2047)的作用是:report All errors and warnings

三、語句include和require都能把另外一個文件包含到當前文件中,它們的區別是___;為避免多此包含同一個文件,可以用語句_____來代替它們。

在如何處理失敗時,include() 產生一個警告而 require() 則導致一個致命錯誤; require_once()/include_once()

四、get_magic_quotes_gpc的作用是_______

本函數取得 PHP 環境配置的變數 magic_quotes_gpc (GPC, Get/Post/Cookie) 值。返回 0 表示關閉本功能;返回 1 表示本功能打開。當 magic_quotes_gpc 打開時,所有的 『 (單引號), 」 (雙引號), (反斜線) and 空字元會自動轉為含有反斜線的溢出字元。

五、在php中, heredoc是一種特殊的字元串, 他的結束標志必須是_____

結束標識符所在的行不能包含任何其它字元除」;」

六、寫出一個正則表達式, 把$string中的所有數字全部刪除

preg_replace(『/d/U』,』』,$string);

七、找出/data1/source 目錄中大於100k 的文件, 並復制到 ~/tmp/35/下

find /data1/source +size >100k | cp ~/temp/35/

八、perl –pi –e 『s|ABCD|Linux|g』 `find ./ -type f`的含義是

find ./-type f:找尋當前目錄下的類型為f的文件

九、10 2 * * * /data0/apache/schele/ussd/topnews/import_data.pl > /dev/null 的含義:_______將import_data.pl清空或刪除

十、rsync -avu 105903.zip 218.206.86.68::mmsres/resource/291/205的含義:_________備份數據用

-a 歸檔模式,遞歸傳輸文件;
-v 詳細模式輸出;
-u, –update 僅僅進行更新,也就是跳過所有已經存在於DST,並且文件時間晚於要備份的文件。(不覆蓋更新的文件)

十一、寫出x,y的值

十二、使用純CSS實現未知寸的圖片(但高度都小於200px) 在200px的正方形容器中水平和垂直居中,HTML代碼如下

⑶ php面向對象面試題

其實這個問題很簡單啦,兩分鍾就可以請清楚啦,我在這里先說一下思想;
首先你得寫一個類表示人,如:person類;
小劉、小張、MrJosnon、MrJohn等都是這個person類的一個實例;

並且人力資源部問問題這是這個person類當中的一個方法,然後每個人都可以繼承自person類,然後又有各自己相關方法等;

然後你得寫一個國家類,如:Country類,然後中國是這個國家的一個具體實例;

然後你得寫一個城市類,如:City類;然後上海是City類的一個實例;

同樣,你得寫一個公司類,如:Company類,然後那兩個公司又是Company類的兩個實例,並且你還得寫一個部門類,如:Depart類,然後人力資源部是部門的一個實例;

上面只是這個問題的中文描述,你可以參考一下;

⑷ 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的字元串專用格式,特殊字元回轉換成百分號後面加兩個十六子介數字的格式。
4,strip_tags(),html_entity_decode();

5,$str=preg_replace("/\<script.*\>.*\<\/script\>/i","",$str);
6,左連接,左連接的表如果沒有匹配的數據不影響結果。
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 後者的許可權大於前者,後者是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,超時,伺服器已經關閉連接
2 靜態表欄位長度固定,自動填充,讀寫速度很快,便於緩存和修復,但比較占硬碟,動態表是欄位長度不固定,節省硬碟,但更復雜,容易產生碎片,速度慢,出問題後不容易重建。
3InnoDB和MyISAM是在使用MySQL最常用的兩個表類型,各有優缺點,視具體應用而定。基本的差別為:MyISAM類型不支持事務處理等高級處理,而InnoDB類型支持。MyISAM類型的表強調的是性能,其執行數度比InnoDB類型更快,但是不提供事務支持,而InnoDB提供事務支持已經外部鍵等高級資料庫功能。
MyIASM是IASM表的新版本,有如下擴展:
二進制層次的可移植性。
NULL列索引。
對變長行比ISAM表有更少的碎片。
支持大文件。
更好的索引壓縮
更好的鍵嗎統計分布。
更好和更快的auto_increment處理。
1.MySQL最大的優勢在於MyISAM引擎下的簡單SELECT,INSERT和UPDATE快速操作
2.MyISAM類型的數據文件可以在不同操作系統中COPY,這點很重要,布署的時候方便點。

以下是一些細節和具體實現的差別:
1.InnoDB不支持FULLTEXT類型的索引。
2.InnoDB 中不保存表的具體行數,也就是說,執行select count(*) from table時,InnoDB要掃描一遍整個表來計算有多少行,但是MyISAM只要簡單的讀出保存好的行數即可。注意的是,當count(*)語句包含 where條件時,兩種表的操作是一樣的。
3.對於AUTO_INCREMENT類型的欄位,InnoDB中必須包含只有該欄位的索引,但是在MyISAM表中,可以和其他欄位一起建立聯合索引。
4.DELETE FROM table時,InnoDB不會重新建立表,而是一行一行的刪除。
5.LOAD TABLE FROM MASTER操作對InnoDB是不起作用的,解決方法是首先把InnoDB表改成MyISAM表,導入數據後再改成InnoDB表,但是對於使用的額外的InnoDB特性(例如外鍵)的表不適用。
另外,InnoDB表的行鎖也不是絕對的,如果在執行一個SQL語句時MySQL不能確定要掃描的范圍,InnoDB表同樣會鎖全表,例如update table set num=1 where name like 「%aaa%」
以暫對存儲引擎的認識,覺得 InnoDB 支持外鍵,在數據量可以用「龐大」來形容時,在有良好的 INDEX 的基礎上,InnoDB 的查詢速度應該比 MyISAM 要快。
在 Falcon 有穩定版本前,我想 MyISAM 是一個可用的選擇方案。
任何一種表都不是萬能的,只用恰當的針對業務類型來選擇合適的表類型,才能最大的發揮MySQL的性能優勢
3, 都是1 ^^懶得回答了,睡覺去。

⑸ php面試題get和post的區別

1、Get 方法通過 URL 請求來傳遞用戶的數據,將表單內各欄位名稱與其內容,以成對的字元串連接,置於 action 屬性所指程序的 url 後,如http://www.domain.com/test.asp?name=51js&password=51js,數據都會直接顯示在 url 上,就像用戶點擊一個鏈接一樣;Post 方法通過 HTTP post 機制,將表單內各欄位名稱與其內容放置在 HTML 表頭(header)內一起傳送給伺服器端交由 action 屬性能所指的程序處理,該程序會通過標准輸入(stdin)方式,將表單的數據讀出並加以處理

2、 Get 方式需要使用 Request.QueryString 來取得變數的值;而 Post 方式通過 Request.Form 來訪問提交的內容

3、Get 方式傳輸的數據量非常小,一般限制在 2 KB 左右,但是執行效率卻比 Post 方法好;而 Post 方式傳遞的數據量相對較大,它是等待伺服器來讀取數據,不過也有位元組限制,這是為了避免對伺服器用大量數據進行惡意攻擊,根據微軟方面的說法,微軟對用 Request.Form() 可接收的最大數據有限制,IIS 4 中為 80 KB 位元組,IIS 5 中為 100 KB 位元組

建議:除非你肯定你提交的數據可以一次性提交,否則請盡量用 Post 方法

4、Get 方式提交數據,會帶來安全問題,比如一個登陸頁面,通過 Get 方式提交數據時,用戶名和密碼將出現在 URL 上,如果頁面可以被緩存或者其他人可以訪問客戶這台機器,就可以從歷史記錄獲得該用戶的帳號和密碼,所以表單提交建議使用 Post 方法;Post 方法提交的表單頁面常見的問題是,該頁面如果刷新的時候,會彈出一個對話框

建議:出於安全性考慮,建議最好使用 Post 提交數據
***********************************
在B/S應用程序中,前台與後台的數據交互,都是通過HTML中Form表單完成的。Form提供了兩種數據傳輸的方式——get和post。雖然它們都是數據的提交方式,但是在實際傳輸時確有很大的不同,並且可能會對數據產生嚴重的影響。雖然為了方便的得到變數值,Web容器已經屏蔽了二者的一些差異,但是了解二者的差異在以後的編程也會很有幫助的。
Form中的get和post方法,在數據傳輸過程中分別對應了HTTP協議中的GET和POST方法。二者主要區別如下:
1、Get是用來從伺服器上獲得數據,而Post是用來向伺服器上傳遞數據。
2、Get將表單中數據的按照variable=value的形式,添加到action所指向的URL後面,並且兩者使用「?」連接,而各個變數之間使用「&」連接;Post是將表單中的數據放在form的數據體中,按照變數和值相對應的方式,傳遞到action所指向URL。
3、Get是不安全的,因為在傳輸過程,數據被放在請求的URL中,而如今現有的很多伺服器、代理伺服器或者用戶代理都會將請求URL記錄到日誌文件中,然後放在某個地方,這樣就可能會有一些隱私的信息被第三方看到。另外,用戶也可以在瀏覽器上直接看到提交的數據,一些系統內部消息將會一同顯示在用戶面前。Post的所有操作對用戶來說都是不可見的。
4、Get傳輸的數據量小,這主要是因為受URL長度限制;而Post可以傳輸大量的數據,所以在上傳文件只能使用Post(當然還有一個原因,將在後面的提到)。
5、Get限制Form表單的數據集的值必須為ASCII字元;而Post支持整個ISO10646字元集。
6、Get是Form的默認方法。
*.Post傳輸數據時,不需要在URL中顯示出來,而Get方法要在URL中顯示。
*.Post傳輸的數據量大,可以達到2M,而Get方法由於受到URL長度的限制,只能傳遞大約1024位元組.
*.Post顧名思義,就是為了將數據傳送到伺服器段,Get就是為了從伺服器段取得數據.而Get之所以也能傳送數據,只是用來設計告訴伺服器,你到底需要什麼樣的數據.Post的信息作為http請求的內容,而Get是在Http頭部傳輸的。
網頁表單當中的get方式和post方式的區別
1、get方式可傳遞的數據量有限,大約是2K左右,而post在iis5當中則達到100k,一般人們可以默認post是無限制的;
2、get方式在提交帳號密碼等表單時不如post方式安全。在get提交表單以後瀏覽器的url會將你提交的表單參數全部顯示在地址欄當中,而且可以通過機器的緩存來直接查看到各項參數;而post方式則不會;
3、get方式在後台處理頁面用Request.QueryString接收各個參數;而post則用Request.Form獲取;
4、get方式會忽略<form action="a.asp?a=a"里邊的"a=a"這個參數;而post方式則不會

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

題集網上有一套php的面試題:http://www.tijee.com/tags/46-php-face-questions/posts

⑺ 程序員面試必備PHP基礎面試題 – 第十一天

一、兩張表 city表和province表。分別為城市與省份的關系表。

表名:city
id City Provinceid
1 廣州 1
2 深圳 1
3 惠州 1
4 長沙 2
5 武漢 3
………. 廣州
表名稱:province:
id Province
1 廣東
2 湖南
3 湖北
……….

1、寫一條sql語句關系兩個表,實現:顯示城市的基本信息。顯示欄位:城市id ,城市名, 所屬省份 。
如:
Id(城市id) Cityname(城市名) Privence(所屬省份)

2、如果要統計每個省份有多少個城市,請用group by 查詢出來。顯示欄位:省份id ,省份名,包含多少個城市。

二、主鍵 和外鍵表示什麼?一般用於做什麼?

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

外鍵:若有兩個表A,B,C是A的主鍵,而B中也有C欄位,則C就是表B的外鍵,外鍵約束主要用來維護兩個表之間數據的一致性。A為基本表,B為信息表。
在資料庫中,常常不只是一個表,這些表之間也不是相互獨立的,不同的表之間需要建立一種關系,才能將它們的數據相互溝通,而在這個溝通過程中,就需要表中有一個欄位作為標志,不同的記錄對應的欄位取值不能相同,也不能是空白的,通過這個欄位中不同的值可以區別各條記錄,就像我們區別不同的人,每個人都有名字,但它卻不能作為主鍵,因為人名很容易出現重復,而身份證號是每個人都不同的,所以可以根據它來區別不同的人,資料庫的表中作為主鍵的段段就要像人的身份證號一樣,必須是每個記錄的值都不同,這才能根據
主鍵的值來確定不同的記錄。

關系:外鍵一定是另外某個表的主鍵。

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

會獲得三條數據:
第一條:當前時間;
第二條:當前時間加上14天;
第三條:當前時間減去3天。

四、您所知道的MYSQL 資料庫備份,還原方式有哪幾種?
備份:
一,搭建主從架構,master-slave,通過binlog文件同步復制主庫的數據,也可以直接通過binlog文件恢復數據。
二,通過系統計劃任務執行mysqlmp做周期性全備份。
三,物理備份,直接拷貝數據文件、參數文件、日誌文件。
還原:
一.通過mysql操作工具,如phpmyadmin,sqlyog等導入備份過的資料庫文件。
二.將物理備份的文件拷貝到mysql的data目錄下

五、內容管理系統中,表message有如下欄位
id 文章id
title 文章標題
content 文章內容
category_id 文章分類id
hits 點擊量
創建上表,寫出MySQL語句

六、同樣上述內容管理系統:表comment記錄用戶回復內容,欄位如下
comment_id 回復id
id 文章id,關聯message表中的id
comment_content 回復內容
現通過查詢資料庫需要得到以下格式的文章標題列表,並按照回復數量排序,回復最高的排在最前面
文章id 文章標題 點擊量 回復數量
用一個SQL語句完成上述查詢,如果文章沒有回復則回復數量顯示0

七、內容管理系統,表category保存分類信息,欄位如下
category_id int(4) not null auto_increment;
category_name varchar(40) not null;
用戶輸入文章時,通過選擇下拉菜單選定文章分類
寫出如何實現這個下拉菜單

八、PHP文件操作

1、內容管理系統:用戶提交內容後,系統生成靜態HTML頁面;寫出實現的基本思路

2、簡單描述用戶修改發布內容的實現流程和基本思路

1)當用戶提交後生成一個由url地址MD5後的文件的編譯頁面,用文件處理file函數生成一個模板合成頁,判斷模板編譯頁是否有,模板頁無或者編譯頁的創建時間戳小於模板頁的修改時間都會從新生成編譯頁面,編譯後的頁面會調用對應資料庫的值顯示在頁面中,通過對內存數據的讀取釋放,顯示出我們看到的靜態數據,然後用file文件將其保存起來生成靜態的頁面

2)當用戶修改了發布內容都會修改數據相關的內容,並通過編譯頁面更新靜態數據並用文件的方式緩存起來,當用戶查看時將不做任何資料庫查找,直接調用該緩存文件即可

熱點內容
安卓哪個國家免費用 發布:2025-02-04 22:39:54 瀏覽:61
電腦配置低但想玩小偷模擬器怎麼辦 發布:2025-02-04 22:39:03 瀏覽:234
最快腳本語言 發布:2025-02-04 22:27:23 瀏覽:527
安卓的人臉識別在哪裡 發布:2025-02-04 22:16:45 瀏覽:675
悠然伺服器的ip是什麼 發布:2025-02-04 22:10:17 瀏覽:65
3des源碼 發布:2025-02-04 22:09:16 瀏覽:809
如何備份資料庫表 發布:2025-02-04 22:09:07 瀏覽:294
如何刪除下載的鬧鍾鈴聲安卓 發布:2025-02-04 22:03:35 瀏覽:660
死神腳本 發布:2025-02-04 21:57:03 瀏覽:169
phpposthtml 發布:2025-02-04 21:37:46 瀏覽:89