[ASP.NET]新手上路須知
之前一直在思考,
該怎麼樣可以讓剛開始寫程式,或寫一段時間程式的Programmer,知道一些他應該知道,卻可能還不知道的issue。
吃MS的奶水長大,真的很容易變成一個會寫程式卻不知道為什麼要這樣寫的工程師。
所以我列了一張很粗糙的CheckList,希望網路上各位老師、前輩,能給點指教、補充以及修正。
Web Form與Server端設計
1. 什麼是postback?為什麼要postback?畫面為什麼會閃?為什麼不好?解決方式?如何強制postback?如何避免postback?
-2. http method裡,GET與POST的差異在哪?使用時機?如何使用?
- HTTP/1.1: Method Definitions
- 表單中method="post"跟method="get"
3. 開新視窗與強制回應視窗的差異?如何撰寫?
- How to open popup windows in IE/Firefox and return values using ASP.NET and Javascript
4. Viewstate與Session差異?存放在哪?使用時機?如何使用?
- 用屬性封裝 Session 及 ViewState 的存取
- 如何暫存資料
5. Server control與HTML control差異?Server端tag(aspx)與Client端tag(HTML)的差異?使用時機?
5.1 如何使用Validation Control?
- ASP.NET Validation Controls – Important Points, Tips and Tricks
6. 如何設定參考於BIN、GAC或專案參考?不同參考位置目的或差異在哪?什麼是GAC?
- 專案參考
- 全域組件快取
7. 如何取得Webconfig上appsetting區塊的值?如何取得Resource file上的值?
- WebConfigurationManager.GetWebApplicationSection 方法
- WebConfigurationManager.AppSettings 屬性
- ResourceManager.GetString 方法
8. 什麼是try catch?使用時機?如何使用?為何使用?
- Try...Catch...Finally 陳述式 (Visual Basic)
9. 設定屬性(property)時相關注意事項?Get與Set的差異?舉例說明。
10. 什麼是SkinID?使用時機?注意事項?如何使用?如何改變?
- ASP.NET方便套用一致外表的Skin(Theme)(動態錄影教學)
11. 舉出所知道的Page events,依序排列。當按下畫面上button,觸發postback的時候,請列出相關重要的event,依序排列。
- ASP.NET Page Life Cycle Overview
- Application、Page、Control 生命週期 (事件觸發的順序)
12. 如何在一個頁面或panel(也就是Container)增加與找到特定control?
- Web Application 三部曲:動態生成控制項技術
DB相關
DB function與Store Procedure的差異?Join與Union的差異?什麼是Left Join?
13.- Stored Procedures and Functions
- ADO.NET 如何取得 Stored Procedure 的回傳值
14. 什麼是DB正規化,正規化的目的是什麼,正規化的好處是什麼?
- 正規化的例子
15. 為什麼SQL statement的Where條件有時候會加上1=1?條件篩選順序怎麼樣效率比較好?
16. 什麼是DB的Index?什麼是transaction?如何使用?
17. 什麼是SQL injection?如何避免?
- LINQ - 對付 SQL Injection 的 "免費補洞策略"
- SQL Injection (資料隱碼)– 駭客的 SQL填空遊戲(上)
- SQL Injection (資料隱碼)– 駭客的 SQL填空遊戲(下)
JavaScript相關
18. 如何執行一段Javascript?Javascript裡function前有加return與不return的差異?
- [修練營 ASP.NET]如何執行一段javascript
- Asp.Net-在Sever端向Client端註冊的常用方法收藏
- HOW TO:以動態方式將用戶端指令碼加入至 ASP.NET Web 網頁
- 以動態方式將用戶端指令碼(JavaScript)加入至 ASP.NET Web 網頁
19. 如何在Server端傳遞一個值至Client端?如何在Client端傳遞一個值至Server端?
- Access JavaScript variables on PostBack using ASP.NET Code
20. 如何在JavaScript裡偵測user按了什麼keyboard按鍵?
- 解決 FireFox 不支援 event.keyCode 的方法
- 使用 JavaScript 實作一個只接受數字並具備運算功能的文字框
設計上常用類別方法
21. 如何對日期與時間做增減?如何四捨五入?如何把格式套成三位一撇?
- [C#]2個DateTime日期間的相差天數.小時數.分鐘數.秒數
- [C#]日期函數
22. 如何把字串用”,”串接?如何把用”,”串接的字串拆開?
- 移除最後的,號
23. 如何對一個Data.Datatable做filter的動作?
基本觀念
24. 什麼是建構式?New與不New的差異?Share(或Static)關鍵字的意義?
- 在寫 ASP.NET 的時候要謹慎使用靜態(static)欄位
25. 什麼是AJAX?為什麼要AJAX?如何使用AJAX?
26. 什麼是OR mapping?舉例?
27. N-Tier與N-Layer的差異?
- Web Applications: N-Tier vs. N-Layer
28. 什麼是Test-Driven(TDD)?為什麼需要Test-Driven?
29. 什麼是Interface?什麼時候要用interface?該怎麼用interface?
- [Software Architecture]IoC and DI
進階版的就要看:「100 Interview Questions for Software Developers」(軟件開發者面試百問)
看完你就會想要吃香蕉了…
綜合解答參考:
1. Allen Kuo大大的網頁(以電子書形式呈現ASP.NET技術,一目了然)
2. ASP.NET 2.0 Interview Questions – Beginner Level (Part 1)
blog 與課程更新內容,請前往新站位置:http://tdd.best/