.Net高級工程師面試題


----------高級開發工程師
崗位職責:

1、完成平台系統新功能模塊開發,維護現有產品,獨立地設計、開發、實現和測試關鍵系統;

2、負責公司項目核心代碼的編寫;

3、根據產品需求進行業務功能的開發和設計工作;

4、學習應用新技術,優化產品和系統實現

任職要求:

1、5年以上項目開發經驗,熟悉B/S開發模式、Windows Service開發應用;

2、5年以上SQLServer數據庫系統開發經驗,能夠對數據庫進行分析優化;熟悉mysql優先;

  答:對查詢進行優化,要盡量避免全表掃描,首先應考慮在 where 及 order by 涉及的列上建立索引

  平衡樹、哈希桶作用索引的數據結構,聚集索引加主鍵。非聚集索引給表添加索引,會增加表的體積, 占用磁盤存儲空間。非聚集索引和聚集索引的區別在於, 通過聚集索引可以查到需要查找的數據, 而通過非聚集索引可以查到記錄對應的主鍵值 , 再使用主鍵的值通過聚集索引查找到需要的數據。覆蓋索引,雙字段的直接定位,省去找主鍵值,通過主鍵值找數據步驟。

3、熟練使用Net Framework、Asp.Net、Asp.Net Mvc、AJax、Entity Framework、WCF等語言或Web技術;

  答:Microsoft .NET Framework是用於Windows的新托管代碼編程模型。

  asp.net工作原理:從使用的角度看,ASP.NET的運行過程包含頁面請求、分析、編譯、組裝、頁面緩沖五大環節。當客戶端通過瀏覽器請求(Request)頁面時,服務器端首先由頁面分析器(Parser)對被請求的頁面進行分析;再將通過分析的頁面內容傳遞給編譯器(Compiler);經過編譯器編譯的頁面內容被傳輸給組裝緩存(Assembly Cache),同時,一些需要較高資源代價的元素可以創建一次后存人內存(Memory);將組裝緩存和內存中的內容有機結合后形成一個完整頁面(包括數據、編譯代碼、HTML代碼等),完整頁面最后被送往輸出緩存(Output Cache)。輸出緩存中的內容將作為客戶端的頁面請求結果被送回瀏覽器。當同一頁面被第二次請求時,服務器端將跳過所有中間環節,直接從輸出緩存中送出頁面請求結果。

  參考 Asp.Net頁面生命周期

    用三張圖片詳解Asp.Net 全生命周期

  Ajax 是一種獨立於 Web 服務器軟件的瀏覽器技術。

  Ajax 即“Asynchronous Javascript And XML”(異步 JavaScript 和 XML),是指一種創建交互式網頁應用的網頁開發技術。Ajax = 異步 JavaScript 和 XML 或者是 HTML(標准通用標記語言的子集)。Ajax 是一種用於創建快速動態網頁的技術。Ajax 是一種在無需重新加載整個網頁的情況下,能夠更新部分網頁的技術。通過在后台與服務器進行少量數據交換,Ajax 可以使網頁實現異步更新。這意味着可以在不重新加載整個網頁的情況下,對網頁的某部分進行更新。

  ADO.NET Entity Framework 是微軟以 ADO.NET 為基礎所發展出來的對象關系對應 (O/R Mapping) 解決方案。該框架曾經為.NET Framework的一部分,但version 6之后從.NET Framework分離出來。

  優點:

  1.簡潔的Linq to Sql語句大大提高了開發人員的效率,不要再寫復雜的sql語句;

  2.不再需要再管應用程序如何去連接數據庫;

  3.EF可以用作用於數據服務和OData Service的基礎設施;

  缺點:

  1.由於linq語句編譯之后就是sql,對於這種自動生成的sql語句無法控制;

  2.EF的運行機制會消耗大量內存,大大降低了程序運行效率,從而導致降低了用戶在客戶端的體驗效果;

  3.一旦數據結構發生變化,需要更新EF數據model;有時還可能會出現找不到更新過的實體類這種情況

4、對面向對象有深入的理解,對於注入,重構和優化性能有獨特的見解;

5、具有良好的溝通能力、理解能力及團隊精神,責任心強,承受較大的工作壓力;

6、熟悉html、javascript、css等開發技術;掌握jQuery及其相關插件的使用技術優先;

7、熟練使用redis、memcached等緩存技術;

8、有大數據並發或多線程處理等相關經驗者優先。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM