最近面試了近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, ",");