PHP面試(A-02)


一、選擇題

1.下面哪個表達式不能將兩個字符串$s1和$s2串聯成一個單獨的字符串?( A )
A.$s1+$s2 B.“{$s1}{$s2}” C.$s1.$s2
D. implode(‘’,array($s1,$s2)) E.以上所有的方法都能實現

二、問答題

1.寫出下列代碼的輸出結果:
function myfunc($argument){
echo $argument+ 10;
}
$variable = 10;
echo “myfunc($variable)=”.myfunc($variable);

先調用函數輸出,后輸出字符串
輸出為: 20myfunc(10)=

2.請用盡可能少的語句實現對輸出Email地址進行驗證的功能

‘/[0-9a-zA-Z_]+@[0-9a-zA-Z_]\.com|\.net|\.cn/ism’

3.簡述cookie和session的區別各自的工作機制,存儲位置等,簡述cookie的優缺點。

Session是在服務器端運作,根據用戶瀏覽器開始到結束而開始到結束,依賴於cookie,若關閉cookie,session有可能異常,存儲在服務器上的php指定的目錄中的(session_dir)的位置進行的存放 

Cookie是在客戶端運作,可以指定時間限制跟蹤用戶信息,當用戶關閉cookie設置,cookie也將失效,存儲在用戶WIN的Temp目錄中的

Cookie優點:存儲於客戶端,減緩對服務器端的壓力
	   缺點:可以手動修改,安全性不高

4.根據你的經驗談談寫php程序需要注意哪些問題

注意分號和命名的大小寫
注意系統函數的參數位置的傳參
注意錯誤等級設置和路徑問題

5.Php是否有安全問題,如果有,請列舉說明。

1.過濾用戶輸入的值 比如從post和get傳參得來的值
例:`$`_POST[‘user’];不過濾,會造成一連串的麻煩

2.禁用register_globals 如果不禁止,就無法確定該變量是否是預定義全局變量里的值
	例:regiseter_globals=on
		 `$`var 會代替掉 `$`_POST[‘var’]

3.防止sql注入
使用 mysql_real_escape_string() 作為用戶輸入的包裝器,就可以避免用戶輸入中的任何惡意 SQL 注入
例: `$`sql = "select count(*) as ctr from users where username='".mysql_real_ 
_string(`$`username)."' and password='". mysql_real_escape_string(`$`pw)."' 
limit 1"; 	

6.是否仔細閱讀過php手冊?請列舉基本你閱讀過的技術方面的書,並簡要說明讀后感。

Php 5手冊
細說PHP2 很適合新人入門學習,里面的代碼精簡獨到

三、Linux選擇題:

1.coron后台常駐程序(daemon)用於:D

A.負責文件在網絡中的共享
B.管理打印子系統Manages theprinting subsystem
C.跟蹤管理系統信息和錯誤
D.管理系統日常任務的調度(scheduing)

2.怎么了解您在當前目錄下還有多大空間?C

A.Use df
B.Use du /
C.Use du.
D.Use df.

3. 有一個備份程序mybackup,需要在周一至周五下午一點和晚上八點各運行次,下面哪一條crontab的項可以完成這項工作?C

A.0 13,20 * * 1,5 mybackup
B.0 13,20 * * 1,2,,3,4,5, mybackup
C.*13,20 * *1,2,3,4,5, mybackup
D.0 13,20 1,5 * *mybackup

4. 下面哪條命令可以把f1.txt復制為f2.txt?A

A.cp f1.txt|f2.txt
B.cat f1.txt|f2.txt
C.cat f1.txt|f2.txt
B.copy f1.txt|f2.txt

5. 使用命令可以查看Linux的啟動信息?B

A.mesg –d
B.dmesg
C.cat /etc/mesg
D.cat /var/mesg

6. 在vi中退出不保存的命令?D

A.:qt
B.:r
C.:wq
D.:q!

四、其他相關技術

1.如何判斷SQL語句的運行效率?如何優化一個查詢SQL?

使用explain查看sql語句
	最主要的查看type和Extra的值
	
1.避免全表掃描
2. 避免在where子句中使用!=或<>操作符, 還有null值的判斷全表掃描
3.  避免在where子句中使用or in not in 
4.  避免在where子句中對字段使用函數操作 
5.   不要寫一些沒有意義的查詢
 6.  索引盡量不要過多

2.試寫出mysql數據庫優化的一些方法

查詢語句優化
	建立索引
	使用外鍵
	減少模糊匹配和自匹配
	數據表類型根據需求不同而設定不同
	優化事務處理
	字段最好都設置not null ,比如字段類型設置成enum等

3.apache默認使用進程管理還是線程管理?如何判斷並設置最大連接數?
進程管理

通過查看連接數和當前連接數判斷
 
netstat -ant | grep `$`ip:80 | wc -l 
netstat -ant | grep `$`ip:80 | grep EST | wc -l 


修改httpd.conf文件 

<IfModule prefork.c> 
StartServers      8 
MinSpareServers    5 
MaxSpareServers  20  
MaxClients      150 
MaxRequestsPerChild  1000 
</IfModule> 

4.簡述smarty的工作原理?

Smarty工作原理:當tpl模版文件第一次被hbcms調用后,將被自動編譯,並生成php文件,儲存在compile目錄里;當再次調用tpl文件時,smarty系統會判斷tpl文件是否被修改過,如果沒被修改過則直接調用,反之 重新編譯 調用

5.ajax技術利用了什么協議?簡述ajax的工作機制。
HTTP協議

通過 XMLHttpRequest對象 發送數據到服務器 經過服務器的處理后 再接收服務器返回來的數據

6.利用ajax開發時,需要考慮瀏覽器的兼容性么?如果需要,常需要考慮哪些?ajax開發常會遇到哪些問題,試舉例說明?

需要

如 對XMLHttpRequestde對象的解析
對象的創建問題。
js腳本緩存問題	
調試代碼排錯困難

7.利用ajax傳輸數據時,一般默認使用的是什么編碼方式?如果出現亂碼如何處理?
Utf8

設置文件的編碼為utf8
在文件的頭部增加設置字符集編碼為utf8
在ajax小類庫寫入 xmlhttp.setRequestHeader( "Content-Type", "text/html;charset=UTF-8" );

四、邏輯思維

  1. 一個人賣蘋果,6元/斤的進貨價,10元/斤賣出。某一天他賣了1斤蘋果,收到了50元假鈔,但沒有發現,給客戶找了40元錢零錢。請問,這人這次賣蘋果虧了多少錢?

40+6=46元

  1. 一個小猴子邊上有100根香蕉,它要走過50米才能到家,每次他最多搬50根香蕉,每走1米就要吃掉一根,請問它最多能把多少根香蕉搬到家里。

猜想:0根

  1. 分金條問題
    你讓某些人為你工作了七天,你要用一根金條作為報酬。這根金條要被分成七塊。你必須在每天的活干完后交給他們一塊。如果你只能將這根金條切割兩次,你怎樣給這些工人分?

    聯想:二進制:1,2,4 其中若干個的和可構成1,7中任何一個數
    1/7,2/7,4/7 第一天給1/7 第二天拿2/7換1/7 如此反復

4. 有十箱蘋果,里面各放蘋果10個,其中9箱裝的蘋果是50克/只,另一箱裝的蘋果是60克/只,現給你一地秤,要求只稱一次就能准確找到裝60克/只的那箱蘋果,請問如何做?

先給十項蘋果編上號 1.2.3 ...... 10
然后1號箱子拿出一個蘋果 2號箱子拿出兩個蘋果 3號箱子拿出三個蘋果 以此類推
把拿出的蘋果混在一起稱重 如果十箱蘋果每箱蘋果都是50克一只的話
稱出的重量應該為2750克 用稱出的重量-2750 然后再除以十 等於幾 就是第幾箱的蘋果是60克/只
  1. 村子中有50個人,每人有一條狗。在這50條狗中有病狗(這種病不會傳染)。於是人們就要找出病狗。
    每個人可以觀察其他的49條狗,以判斷他們是否生病(如果有病一定能看出來),只是
    自己的狗不能看。觀察后得到的結果不得交流,也不能通知病狗的主人。主人一旦推算出自
    己家的是病狗就要槍斃自己的狗(發現后必須在一天內槍斃),而且每個人只有權力槍斃自
    己的狗,沒有權力打死其他人的狗。
    第一天大家全看完了,但槍沒有響,第二天仍沒有槍響。到了第三天傳來一陣槍聲,問
    村里頭共有幾條病狗,你如何讓推算得出的?
有3條病狗 
A、假設有1條病狗,病狗的主人會看到其他狗都沒有病,那么就知道自己的狗有病,所以第一天晚上就會有槍響。因為沒有槍響,說明病狗數大於1。 

  B、假設有2條病狗,病狗的主人會看到有1條病狗,因為第一天沒有聽到槍響,是病狗數大於1,所以病狗的主人會知道自己的狗是病狗,因而第二天會有槍響。既然第二天也每有槍響,說明病狗數大於2。 

由此推理,如果第三天槍響,則有3條病狗。
  1. 不均勻分布的香,每根香燒完的時間是一小時,你能用什么方法來確定一段15分鍾的時間?

香a點燃一頭,香b點燃兩頭。等香b燒完時,時間過去了30分鍾。再把香a剩下的另一頭也點燃。從這時起到a燒完的時間就是15分鍾

五、性格測試

1.簡單說一下,你是一個什么性格的人?

表象溫和 內里狂熱

2.你認為你自身最大的優點和缺點是什么?

最大優點:自信
		最大缺點:自信過頭

3.是否願意在比較大的工作壓力下工作?有創業公司的工作經驗么?簡單說一下你對創業公司的看法。

		願意嘗試下
		沒有
創業公司的基礎:資金 人脈 最主要的是有一個精良的團隊 市場的洞察力
		如果沒有一個良好的基礎奠基,做什么都很困難

4.你具體是使用什么方法來提供自身的技術(或業務)水平的?

5.說說你對本公司的了解。簡單說說你理想中下面找的工作是一個什么樣的工作?簡單說一下離開上一個工作的原因是什么?

有相互學習的氛圍
沒有提升自己能力或技術的環境


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM