一、前端部分
Firefox和google瀏覽器使用的引擎是什嗎?(前段最起碼最起碼的基礎,調流瀏覽器安全色性必知。也是使用CSS3和HTML5是必知)
Firefox 使用的是 Gecko,而 Safari 和 Chrome 瀏覽器使用的都是 Webkit。最新版的opera也使用了webkit
如何用CSS實現水平置中和垂直置中?(基礎的基礎)
水平置中:text-align:center;margin:0 auto
垂直置中:可以將容器設定為display:table,然後將子項目也就是要垂直置中顯示的元素設定為display:table-cell,然後加上vertical-align:middle來實現。或者使用{top:50%;transform: translateY(-50%);}
以上都是不完美實現,但都是基礎。根本沒思路的是騙子。
如何處理jQuery衝突?(基礎的基礎)
jQuery.noConflict(); 或者用閉包
(function($){})(jQuery);
二、資料存放區部分
怎樣定位MySQL中效率較低的語句?
使用show full processlist和慢查詢日誌。
資料庫的增量備份主從服務做過沒?
關鍵點在binlog,也就是二進位日誌。
MYISAM引擎和INNODB引擎的對比?
關鍵點:表鎖行鎖,是否支援事務,索引的儲存,適用情境
如果面試者簡曆中提到了熟悉memcache,那麼就問:memcache的預設連接埠是啥?Value的最大長度是啥?預設的緩衝有效期間是多久?
答案:連接埠:11211 ,value最大1M,有效期間30天。這三個問題有兩個回答錯的就是騙子。
如果提到redis,就問redis的最大value值是多少?儲存有序和無序集合用哪種資料類型?哪個命令發起事務?哪兩種持久化方式?
答案:value最大512M,有序用list和sorted set,無序用 set;發起事務用multi;持久化方式為記憶體快照和日誌追加。
PHP部分:
類的自動載入怎麼實現?
spl_autoload_register,回答__autoload 的是沒做過,人云亦云的瞎扯。
列舉幾個PHP的魔術方法?
__set(),__get(),__construct(),__call(),__toString()。一共有14,5個,回答不出4個的說熟悉物件導向是在瞎扯。
Regex只能怪不區分大小寫修飾符是哪個?不用正則如何判斷email格式是否正確?
答案:i;使用filter系列函數,如果能輸出這個系列函數的缺陷更佳。
4.MVC的基本流程,每層都幹些什嗎?自己是否實現過MVC架構?
伺服器及其它
linux中類似win的資源管理員命令是哪個?怎樣查看開機自啟動有哪些服務?計劃任務是哪個服務實現?刪除非空檔案夾用什麼命令?
答案:top;chkconfig –list;crontab;rm -r;
平常經常去的技術社區。
再附一款
* 1.在PHP中,當前指令碼的名稱(不包括路徑和查詢字串)記錄在預定義變數(1)中;而連結到當前頁面的URL記錄在預定義變數(2)中。
2.執行程式段<?php echo 8%(-2) ?>將輸出(3)。
3.在HTTP 1.0中,狀態代碼 401 的含義是(4);如果返回“找不到檔案”的提示,則可用 header 函數,其語句為(5)。
4.數組函數 arsort 的作用是(6);語句 error_reporting(2047)的作用是(7)。
5.PEAR中的資料庫連接字串格式是(8)。
6.寫出一個Regex,過慮網頁上的所有JS/VBS指令碼(即把script標記及其內容都去掉):(9)。
7.以Apache模組的方式安裝PHP,在檔案http.conf中首先要用語句(10)動態裝載PHP模組,
然後再用語句(11)使得Apache把所有副檔名為php的檔案都作為PHP指令碼處理。
8.語句 include 和 require 都能把另外一個檔案包含到當前檔案中,它們的區別是(12);為了避免多次包含同一檔案,可以用語句(13)來代替它們。
9.類的屬性可以序列化後儲存到 session 中,從而以後可以恢複整個類,這要用到的函數是(14)。
10.一個函數的參數不能是對變數的引用,除非在php.ini中把(15)設為on.
11.SQL 中LEFT JOIN的含義是(16)。
如果 tbl_user記錄了學生的姓名(name)和學號(ID),
tbl_score記錄了學生(有的學生考試以後被開除了,沒有其記錄)的學號(ID)和考試成績(score)以及考試科目(subject),
要想列印出各個學生姓名及對應的的各科總成績,則可以用SQL語句(17)。
12.在PHP中,heredoc是一種特殊的字串,它的結束標誌必須(18)。
13.寫一個函數,能夠遍曆一個檔案夾下的所有檔案和子檔案夾。
14.簡述論壇中無限分類的實現原理。
15.設計一個網頁,使得開啟它時彈出一個全屏的視窗,該視窗中有一個文字框和一個按鈕。使用者在文字框中輸入資訊後點擊按鈕就可以把視窗關閉,而輸入的資訊卻在主網頁中顯示。
//答案(填空):
1. echo $_SERVER['PHP_SELF']; echo $_SERVER["HTTP_REFERER"];
2. 0
3. (4)未授權 (5) header("HTTP/1.0 404 Not Found");
4. (6)對數組進行逆向排序並保持索引關係 (7)All errors and warnings
5. 沒弄明白
6. /<script[^>].*?>.*?</script>/si
7.(10) LoadModule php5_module "D:/xampp/apache/bin/php5apache2.dll"
(11) AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .php .php5 .php4 .php3 .phtml
8.(12) 發生異常時include產生警告require產生致命錯誤 (13) require_once()/include_once()
9. serialize() /unserialize()
10. allow_call_time_pass_reference
11. (16) 自然左外串連
(17) select name , count(score) as sum_score from tbl_user left join tbl_score on tbl_user.ID=tbl_score.ID group by tbl_user.ID
12. 結束標識符所在的行不能包含任何其它字元除";"
13.
/**
* 遍曆目錄,結果存入數組。支援php4及以上。php5以後可用scandir()函數代替while迴圈。
* @param string $dir
* @return array
*/
function my_scandir($dir)
{
$files = array();
if ( $handle = opendir($dir) ) {
while ( ($file = readdir($handle)) !== false ) {
if ( $file != ".." && $file != "." ) {
if ( is_dir($dir . "/" . $file) ) {
$files[$file] = rec_scandir($dir . "/" . $file);
}else {
$files[] = $file;
}
}
}
closedir($handle);
return $files;
}
}