php常見面試題

最近面試了近10家公司,在加上之前實習時的面試經歷,大兄弟我從中總結出一些面試題,對於工作經驗兩年以下的開發者們如果基本上都能答出來,那麼被錄用是沒有什麼懸念的了。面試題只是證明你實力的一部分,最重要的還是工作經驗!不過一般的公司一上來都會先給你做一份面試題,如果面試題做不好的話那麼就會很難愉快的和面試官聊天了(手動滑稽),希望會對大家有幫助。已給出部分參考答案呦。

1、  字符串與數組相互轉化的方法

字符串 –> 數組:explode() 

數組 –>字符串:implode()    

2、  字符串的相關方法

截取:substr()

亂碼截取處理:mb_substr()

反轉:strrev()

查找字符出現位置:strpos()

查找字符出現次數:substr_count()

3、  數組相關方法

去重:array_unique()

合併:array_merge()

追加元素:array_push()$array[]=?

刪減元素:array_splice()

順序的反轉:array_reverse()

鍵與值的反轉:array_flip()

輸出下標:array_keys()

4、  數據庫

常用的數據庫引擎和區別:

MyISAM和InnoDB;區別:MyISAM不支持事務,mysql默認引擎,高速存儲和檢索。

建表和聯表查詢:一般會給出兩個表格讓你寫出創建和查詢的sql語句

優化方案:避免使用null字段;合理使用索引;使用緩存技術。

5、  日期和時間

輸出前一天:echo date(‘Y-m-d H:i:s’,strtotime(‘-1 days’));

6、  Session和cookies的區別,如何設置兩者的生存時間?

Setcookie()

7、  用哪些開發工具,用過什麼調試工具?

8、  設置編碼和重定向

9、  緩存技術

10、             傳值和引用的區別,什麼時候用傳值,什麼時候用引用?

11、             框架

會用什麼框架?

關於你熟悉的框架的問題:如,thinkphp框架中M()和D()方法的區別

學習一個新框架需要多久?

12、             算法

冒泡排序,快速排序,二叉樹(滿二叉樹和完全二叉樹的區別)

13、             項目

一個項目週期要多久?

能否獨立完成?

某個項目的某個功能是怎麼實現的?

如何保證數據的安全性?

是否用過版本控制工具如svn和git?

14、             特殊題

(1)      用php代碼輸出下面的圖形

(2)      浮點數的精確兩位小數怎麼設置,向上/下取整的方法是什麼?

(3)      用div+css代碼實現下面的圖形

(4)      用javascript語句輸出下面的數字和表格

1 2 3 4 5 6 7 89 10 11 12 13 14 15 16

       

       

       

       

 

 

 

 

 

 

 

 

 

 

 

 

 

(5)      用jquery實現功能:點擊上一題的表格每一個單元格,該單元格填入對應編號的數字

(6)      數組與json的相互轉化

(7)      使用五種以上方式獲取一個文件的擴展名

<?php
 
 $file = ‘siyuantlw/程序設計.php’;
 
 functiongetExt1($file) {
  return substr(strrchr($file,’.'),1);
 }
 functiongetExt2($file) {
  returnsubstr($file,strrpos($file,’.')+1);
 }
 functiongetExt3($file) {
  returnstrrev(substr(strrev($file),0,strpos(strrev($file),’.')));
 }
 functiongetExt4($file) {
  returnarray_pop(explode(‘.’,$file)); //array_pop 介紹
 }
 functiongetExt5($file) {
  $arr =pathinfo($file);
  return$arr['extension'];
  //或者寫成下面這種
  //returnpathinfo($file,PATHINFO_EXTENSION);
 }
 functiongetExt6($file) {
  $temp = strtok($file,‘.’); //strtok函數說明
     while($temp !== false){
        $file_extension = $temp;
         $temp =strtok(‘.’);
     }
     return$file_extension;
 }
function getExt7($file) {
  while($dot =strpos($file, “.”))
  {
   $file =substr($file, $dot+1);
  }
  return $file;
 }
 echo getExt1($file).’<br/>’;
 echogetExt2($file).’<br />’;
 echogetExt3($file).’<br />’;
 echogetExt4($file).’<br />’;
 echogetExt5($file).’<br />’;
 echogetExt6($file).’<br />’;
echo getExt7($file).’<br />’;


(8)      PHP中刪除字符串最後一位字符的方法

方法一:substr($arr_str,0,strlen($arr_str)-1);

方法二:substr($arr_str, 0, -1);

方法三:rtrim($arr_str, ",");

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章