(X)HTML 是我們公司要求的網站開發基礎能力,所以必須要有一定程度的瞭解。
請寫出有序清單和無序清單的的 HTML Tag 並簡述其差異。
請簡述 HTML 空標籤的特性,並試著列出所有的空標籤。
請簡述 DOCTYPE 對瀏覽器的影響,並說明目前常用的 DOCTYPE 有哪些。
如何在瀏覽器中顯示小於 (<) 或大於 (>) ?如果連結網址中有 & 符號時,應該在 HTML 原始碼中用什麼代替?
<html>
<head>
<title>測試範例</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script language="javascript" src=check.js />
</head>
<body>
<table border="1">
<form>
<tr>
<td>
<label for="account">帳號</label>
</td>
<td>
<input type="text" name="account">
</td>
</tr>
<tr>
<td>
<label for="passwd">密碼</label>
</td>
<td>
<input type="passwd" name="passwd">
</td>
</tr>
<tr>
<td>
<label><input type="checkbox" name="keepLogin" value="1">保持登入</label>
</td>
<td>
<input type="submit" value="登入" onClick="checkForm();">
</td>
</tr>
</form>
</table>
</body>
</html>
同上題,如果在 IE 上瀏覽該頁面時發生亂碼,你會如何解決?假設伺服端送出的標頭及頁面編碼都是正確的。 (加分題)
何謂 HTML 的語意?如果要在頁面上用一個標籤來表示文章標題,你認為用 <h1></h1> 比較好還是 <p class="articleTitle"></p> 比較好? (加分題)
在上面的 HTML 範例中,我們引入了一個 check.js ,以下為其內容:
function checkForm() {
if (this.form.account.value = '') {
alert('請輸入帳號');
return false;
}
if (this.form.passwd.value = '') {
alert('請輸入密碼');
return false;
}
return true;
}
請找出這段 JavaScript 的錯誤,並寫出正確可執行的版本。
請找出 HTML 範例中的 JavaScript 邏輯錯誤。
請試著改寫 check.js ,在帳號或密碼未填寫任何資料並出現警告時,同時將輸入焦點置於錯誤的欄位上。
上面的例子中利用 JavaScript 驗證後的資料,是否還需要用 PHP 或其他伺服端技術驗證?為什麼?
請試著不要使用 onxxxx 事件,改用 window.onload 來繫結表單驗證的功能。 (加分題)
請說明 window.onload 可能潛藏的問題,並說明有什麼可以解決的方式 (不可使用第三方套件) 。 (加分題)
PHP 是我們要求的必要技能,因此基本功我們有一定的要求。由於我們公司採用的是 PHP5 ,所以以下題目請小心 PHP4 與 PHP5 的差異。
請說明 PHP 字串採用單引號和雙引號的差別。
請說明如何接收網址參數。例如 http://localhost/index.php?abc=123 中的 abc 。
請說明如何接收上面 HTML 範例的表單內容。
請說明 magic_quotes_gpc 對 PHP 程式的影響。
如何避免使用者直接輸入 HTML 或是 JavaScript ?假設客戶要求一定要讓使用者輸入 HTML ,你該如何處理? (加分題)
請說明 Session 的基本運作方式以及相關注意事項,並利用 PHP 的 Session 功能來完成上面的登入功能。帳號及密碼列表如下:(加分題)
| 帳號 | 密碼 |
|---|---|
| abc | 123!@# |
| def | 456L:' |
請說明 Cookie 的基本運作方式以及相關注意事項,並利用 PHP 的 Cookie 功能來完成上面的保持登入功能。(加分題)
請簡單設計一個 PHP 類別,讓以下程式能夠運作: (提示:要使用 SPL) (加分題)
<?php
$t = new Test();
$t->addValue(756789)
->addValue(1254789)
->addValue(39412)
->sort()
->addValue('xscssss');
echo 'Count: ', count($t), "\n";
echo 'Max: ', $t->getMax(), "\n";
echo "List of values: \n";
foreach ($t as $v) {
echo $v, "\n";
}
/* 執行結果:
Count: 4
Max: 1254789
List of values:
39412
756789
1254789
88888
*/
請修改你剛剛所建立的類別,讓 addValue 函式在參數不為數字時,能丟出一個異常。然後在上面程式中加入 try...catch 敘述,使得 Test 物件在加入非數字資料時,還能繼續運作並顯示錯誤。 (加分題)
為剛剛的類別加入註解 ,以便能夠以 PHPDoc 來產生 API 文件。 (加分題)
MySQL 也是我們公司的技術重點,所以請一定要俱備相關的基本能力。
何謂 Schema ?
請建立一個名為 guestbook 的資料庫,並建立一個名為 messages 的資料表。其中 messages 資料表要包含自動編號 (id) 、標題 (title) 、內容 (content) 、作者 (author) 及建立日期 (createDateTime) 等欄位,欄位型態請以符合效率及易維護性為考量來設計。
請試著用 MySQL 的命令列模式,來操作對 messages 資料表的新增、列表、修改及刪除等功能。
請試著用 MySQL 的命令列模式匯出 guestbook 資料庫的結構與資料,並刪除 guestbook 資料庫。然後再利用匯出的備份檔案,來重建 guestbook 資料庫。
在 MySQL 4.1 以後,如果已存的資料其編碼為 UTF-8 ,那麼 Client 端在取出資料前,要先下何種指令來指定正確的編碼?
CSS 也是加分的技術,各位朋友有興趣的話可以挑戰看看。
何謂區塊元素?何謂行內元素?
CSS 中定位 (position) 有哪些類型?哪一種是 IE6 不支援的?
寫出三種讓 HTML 套用 CSS 的方法。 (提示:外部引用、內部直接指定)
請寫出一段 CSS 語法,讓以下 class 為 hoverMe 的連結能產生滑過變色的效果:
<p><a href="#" class="hoverMe">test</a></p> 請利用 CSS 將以下左邊的 HTML 轉換為右邊的樣子 (各瀏覽器都要能正常顯示) :
<ul>
<li>abc</li>
<li>def</li>
<li>ghi</li>
<li>jkl</li>
</ul>
![]()
請比較表格排版與 CSS 排版的優缺點。
請利用 CSS 排版技術,將以下左方的 HTML 呈現為右方固定寬度置中的版型 (各瀏覽器都要能正常顯示) :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test</title>
</head>
<body>
<div id="container">
<div id="header">Header</div>
<div id="body">Body</div>
<div id="sidebar">Sidebar</div>
<div id="footer">Footer</div>
</div>
</body>
</html>

請說明 class 和 id 的差異。
請簡述你對 CSS 的看法。
我們公司主要是透過 jQuery 這個 JavaScript Library 來應用 Ajax ,因此較為細節的實作部份我這裡就會略過了。以下題目偏重於觀念部份:
Ajax 主要的特色是什麼?缺點又有哪些?
請簡述 Ajax 中非同步與同步兩種發送方式的差異。
請說明常用在 Ajax 回傳上的資料格式 (例如: HTML 、 XML 、 JSON 或 JavaScript 等) ,它們適合用在什麼場合。
由於我們公司採用了 Zend Framework 為開發軸心,所以如果你會 Zend Framework 就更棒囉。當然這不是必要項目,所以有關 Zend Framework 的題目就是有做有加分啦。
請簡述 Zend Framework 的 MVC 架構,你認為它的優缺點在哪裡?
請利用 Zend Framework 配合 MySQL 實作一個簡單的留言版,資料庫則以上面建立好的 guestbook 資料庫為儲存媒體。
請簡述你對 Zend Framework 與其他的 PHP Framework 的看法。
何謂 UTF-8 的 BOM ?它對程式開發有什麼影響?對瀏覽器又有什麼影響?
請簡述 BIG5 編碼的問題。
從瀏覽器傳來的資料是否能直接存入資料庫?要注意哪些問題?
請說明你為程式寫註解的意義在哪裡?
請說明當你遇到一個未曾碰過的程式錯誤時,你是如何嘗試解決它的?
請列舉一些你用來吸收新知的網站、論壇或部落格。