? ? ?本文章不作任何商業用途 僅作學習與交流 安利唐老獅與其他老師合作的網站,內有大量免費資源和優質付費資源,我入門就是看唐老師的課程 打好堅實的基礎非常非常重要:
全部 - 游習堂 - 唐老獅創立的游戲開發在線學習平臺 - Powered By EduSoho
? ? ? ? 如果你發現了文章內特殊的字體格式,那是AI補充的知識,我發現原網站下面有答案,我將會把答案以不同樣式穿插在回答之中
目錄
C#
1.?C#中如何讓一個類不能再被其他類所繼承?
2.?C#中使用泛型的好處是什么?
3.?C#中元組對于我們的作用是什么?
4. 請說明Thread、ThreadPool、Task分別是什么?并簡單說明彼此的區別
5.?請簡述GC(垃圾回收)產生的原因,并至少說出避免GC發生的三種方式?
Unity
1.?Unity中動態加載資源的方式有哪些?
2. Unity中的光照貼圖的作用是什么?
3. Unity場景中有兩個點連成了一條線,想要旋轉這條線,應該怎么做?
4.?LOD(多細節層次)和 MipMap(紋理圖)的作用是什么?
5.?游戲開發中,客戶端和服務端交互數據,程序中常用方式是什么?
C#
1.?C#中如何讓一個類不能再被其他類所繼承?
? ? ? ? 密封類seald
2.?C#中使用泛型的好處是什么?
? ? ? ?避免了拆裝箱,?而且不確定類型可以讓方法或者類更加靈活
3.?C#中元組對于我們的作用是什么?
? ? ? ? 不知道元組,所以我問了dp但要是學習的話這個視頻可以幫到你C# 元組(Tuple) .NET程序設計進階_嗶哩嗶哩_bilibili
????????元組(Tuple)的核心作用是提供一種輕量級、無需定義新類型即可臨時組合多個數據值的機制
多返回值方法
public (double avg, double stdDev) ComputeStats(List<double> data) { // 計算邏輯 return (avg, stdDev);}
臨時數據組合
var userInfo = (Name: "Alice", Age: 30, IsVerified: true);Console.WriteLine(userInfo.Name);
LINQ 查詢結果增強
var query = products.Select(p => (p.Name, Price: p.Cost * 1.2));
模式匹配(C# 8+)
if (input is (int x, int y) && x > 0) { ... }
?
4. 請說明Thread、ThreadPool、Task分別是什么?并簡單說明彼此的區別
????????Thread:線程關鍵詞 可以創建新線程
????????ThreadPool:線程對象池,管理線程的
????????Task:線程任務,用作異步操作的
????????三者是層層遞進的關系:
特性 | Thread | ThreadPool | Task |
---|---|---|---|
資源管理 | 手動創建/銷毀,成本高 | 自動復用線程,成本低 | 基于線程池,支持異步調度 |
控制粒度 | 精細控制(優先級、名稱等) | 無控制權 | 通過?TaskScheduler ?配置 |
適用任務類型 | 長期運行的任務 | 短期高頻任務 | 通用異步/并行任務 |
異常處理 | 需手動捕獲異常 | 異常會終止進程 | 支持聚合異常(AggregateException ) |
現代性 | 原始 API,已過時 | 底層機制 | 推薦使用(配合?async/await ) |
5.?請簡述GC(垃圾回收)產生的原因,并至少說出避免GC發生的三種方式?
? ? ? ? 出現無用的內存(不被引用的對象等)就會觸發GC 其背后是一套自動化的代碼工具
? ? ? ? 避免:
? ? ? ? 1.使用對象池
? ? ? ? 2.使用struct做數據結構
? ? ? ? 3.使用官方提供的一些優化APi,比如stringBuilder,using,TryChache
? 補充:為什么要避免多次GC?
????????回收過程會暫停應用程序線程(Stop-the-World),頻繁 GC 會導致性能波動,尤其是對實時性要求高的場景(如游戲、高頻交易)
Unity
1.?Unity中動態加載資源的方式有哪些?
???????? ? ? ? Resource的同步異步
Unity數據持久化 萬物之源Resources動態資源加載_unity動態加載資源-CSDN博客
? ? ? ? assetBundle的同步異步
Unity 熱更新 之 一篇文章完全入門AssetBundle_unity assetbundle-CSDN博客
? ? ? ? Addressable的同步異步Unity熱更新 之 Addressables(2) 本地/遠端打包 流程測試_addressables 遠程更新-CSDN博客
? ? ? ? 加載文件的幾種方式
????????Unity 讀取文本文檔 方法總結_unity textasset-CSDN博客
2. Unity中的光照貼圖的作用是什么?
? ? ? ? 布吉島 我想到的是模擬光照效果
3. Unity場景中有兩個點連成了一條線,想要旋轉這條線,應該怎么做?
? ? ? ? 歐拉角Transform.eulerAngles
? ? ? ? 四元數Quaternion.Euler 或者直接乘四元數
4.?LOD(多細節層次)和 MipMap(紋理圖)的作用是什么?
????????LOD技術就是讓一個模型有多種樣式的 從低模到高模 可以在攝像機遠的時候加載低模 優化性能,近則反之 通常玩家不可選
? ? ? ? mimmap讓我想起了我的世界,其不同程度等級可以控制紋理細節,玩家可選來優化游戲體驗
???
5.?游戲開發中,客戶端和服務端交互數據,程序中常用方式是什么?
? ? ? ? 布吉島,網絡還在入門 我一看答案 是TCP/IP的協議 ?
?????????