[ASP.NET]新手上路須知 (持續修改中,請大家給意見或認為不錯的解答)

  • 26072
  • 0
  • 2012-03-16

[ASP.NET]新手上路須知

之前一直在思考,

該怎麼樣可以讓剛開始寫程式,或寫一段時間程式的Programmer,知道一些他應該知道,卻可能還不知道的issue。

吃MS的奶水長大,真的很容易變成一個會寫程式卻不知道為什麼要這樣寫的工程師。

 

所以我列了一張很粗糙的CheckList,希望網路上各位老師、前輩,能給點指教、補充以及修正。

 

Web Form與Server端設計

1. 什麼是postback?為什麼要postback?畫面為什麼會閃?為什麼不好?解決方式?如何強制postback?如何避免postback?

- 淺談 PostBack 機制(一)

- 淺談 PostBack 機制(二)

- [AJAX]AJAX與UpdatePanel簡介

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)的差異?使用時機?

- ASP.NET - Server Controls

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的差異?舉例說明。

- C# method ,property 等基礎語法比較

- Property 陳述式

10. 什麼是SkinID?使用時機?注意事項?如何使用?如何改變?

- ASP.NET方便套用一致外表的Skin(Theme)(動態錄影教學)

11. 舉出所知道的Page events,依序排列。當按下畫面上button,觸發postback的時候,請列出相關重要的event,依序排列。

- ASP.NET Page Life Cycle Overview

- Application、Page、Control 生命週期 (事件觸發的順序)

- Page Life Cycle整理

12. 如何在一個頁面或panel(也就是Container)增加與找到特定control?

- 遞迴方式的 FindControl

- 遞迴方式的 FindControl (進階版)

- 動態新增控制項與 ViewState

- 在 Web Form 動態建立控制項的正確方法

- Web Application 三部曲:動態生成控制項技術


DB相關

13. DB function與Store Procedure的差異?Join與Union的差異?什麼是Left Join?

- Stored Procedures and Functions

- 何時該使用Stored Procedure?

- ADO.NET 如何取得 Stored Procedure 的回傳值

14. 什麼是DB正規化,正規化的目的是什麼,正規化的好處是什麼?

- 說明資料庫正規化基本概念

- 正規化的例子

15. 為什麼SQL statement的Where條件有時候會加上1=1?條件篩選順序怎麼樣效率比較好?

16. 什麼是DB的Index?什麼是transaction?如何使用?

- 資料庫 SQL Server 進階概念

17. 什麼是SQL injection?如何避免?

- LINQ - 對付 SQL Injection 的 "免費補洞策略"

- SQL Injection (資料隱碼)– 駭客的 SQL填空遊戲(上)

- SQL Injection (資料隱碼)– 駭客的 SQL填空遊戲(下)

- 微軟發佈3款SQL INJECTION攻擊檢測工具


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 實作一個只接受數字並具備運算功能的文字框

-The DOM and JavaScript

-event.shiftKey

-event.keycode


設計上常用類別方法

21. 如何對日期與時間做增減?如何四捨五入?如何把格式套成三位一撇?

- [C#]2個DateTime日期間的相差天數.小時數.分鐘數.秒數

- [C#]日期函數

- [JavaScript]四捨五入遇到負數的問題

22. 如何把字串用”,”串接?如何把用”,”串接的字串拆開?

- 移除最後的,號

- [VB6][VB.NET][C#] 字串處理函數

23. 如何對一個Data.Datatable做filter的動作?

- DataView.RowFilter 屬性


基本觀念

24. 什麼是建構式?New與不New的差異?Share(或Static)關鍵字的意義?

- C# method ,property 等基礎語法比較

- 在寫 ASP.NET 的時候要謹慎使用靜態(static)欄位

25. 什麼是AJAX?為什麼要AJAX?如何使用AJAX?

- [AJAX]AJAX與UpdatePanel簡介

26. 什麼是OR mapping?舉例?

- ORM VS SQL

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/