首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> Delphi

Delphi 筆試題精選:從運行時套件到多執行緒排序實戰

     編輯:Delphi

經典筆試題目與解析

1. rtl70.bpl 是什麼?有何用途?

Delphi 7 運行時套件(Runtime Package),包含 VCL/RTL 核心程式碼。啟用「Build with runtime packages」後,應用程式體積大幅縮減,多模組共享同一記憶體映像,利於部署與更新,但需隨程式分發該 BPL。

2. Package 相較 DLL 的優勢?

  • 支援 Delphi 類別、介面、元件等豐富型別跨模組傳遞(DLL 僅限簡單型別與 C 風格介面)。
  • 自動處理模組間的單元初始化/終結順序。
  • IDE 設計期整合:元件面板直接註冊 Package 內元件。
  • 版本資訊與相依性管理內建。

3. 結構體記憶體佔用計算

type
  a = packed record
    v1: Byte;        // 1 byte
    v2: Word;        // 2 bytes (對齊至 2)
    v3: string[16];  // 17 bytes (長度字節 + 16 字元)
    v4: Double;      // 8 bytes (對齊至 8)
    v5: string;      // 4/8 bytes (指標/Managed 類型)
    v6: TForm;       // 4/8 bytes (物件參考)
  end;

32 位元環境:1+1(對齊)+2+17+3(對齊)+8+4+4 = 40 bytes。
64 位元環境:指標擴展為 8 bytes,Double 對齊 8,總計 56 bytes左右(視具體對齊規則)。

4. 舊式物件語法繼承是否正確?

type
  a = object
    v1: Integer;
  end;
  b = object(a)
    v2: Integer;
  end;

正確。Turbo Pascal 風格舊式物件支援繼承,但不支援虛擬方法表、介面等現代特性,僅用於相容舊碼。

5. 類別繼承語法是否正確?

type
  a = class
    v1: Integer;
  end;
  b = class(a)
    v2: Integer;
  end;

正確。標準 Delphi 類別單一繼承語法。

6. 文字檔按手機號排序程式設計思路

  1. 使用 TStringList 載入全檔(LoadFromFile)。
  2. 定義記錄型別 TRecord = record Name, Mobile, Phone: string; end;,解析每行逗號分隔欄位建立物件清單(TObjectList)。
  3. 實作自訂比較函數 CompareByMobile,依 Mobile 欄位排序。
  4. 呼叫 List.Sort(CompareByMobile)。
  5. 回寫檔案或輸出結果。

大檔案可採用外部排序(分塊排序+歸併)避免記憶體壓力。

7. 常用第三方元件套件

  • DevExpress VCL:高階 Grid、Editors、Layout、Ribbon UI。
  • FastReport:報表引擎。
  • Indy (Internet Direct):網路通訊元件庫。
  • Virtual Treeview:高效能虛擬樹狀檢視。
  • JEDI VCL (JVCL/JCL):開源工具箱。

8. Windows 版本號與初始 IE 版本對照

OS版本號 (Major.Minor.Build)預設 IE
Win954.0.950IE 1.0 (後可升)
Win984.1.1998IE 4.01
Win20005.0.2195IE 5.01
WinXP5.1.2600IE 6.0

9. WebService 技術特徵

  • 基於 HTTP/HTTPS 傳輸,穿透防火牆友善。
  • XML 序列化(SOAP 1.1/1.2)實現跨平台、跨語言互通。
  • WSDL 描述服務契約,支援自動產生 Proxy 程式碼。
  • 鬆耦合、粗粒度、無狀態設計。
  • 支援同步/非同步呼叫、WS-* 標準(Security, Addressing, ReliableMessaging 等)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved