首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

恆生電子筆試題全景復盤:設計模式、Java 基礎、SQL、Linux 與算法三題

     編輯:Java 綜合教學

一、論述題(5 題)

  1. 設計模式:說出你知道的模式並介紹(如單例、工廠、觀察者、策略、代理等),重點闡述應用場景與 UML 結構。
  2. final 關鍵字:修飾類(不可繼承)、方法(不可覆寫)、變數(引用不可變/基本類型值不可變),配合代碼示例說明。
  3. JSP 九大內置對象:request、response、session、application、out、pageContext、config、page、exception。
  4. Linux 常用命令:文件操作(ls/cp/mv/rm)、權限(chmod/chown)、進程(ps/kill/top)、網絡(netstat/ss/ip)、磁碟(df/du)、日誌(tail/grep)、打包(tar/gzip)。
  5. 表結構設計 + SQL:
    • 場景:小學 6 年級 × 5 班,統計全校學生各科成績降序、總分排名。
    • 表:student(id, name, grade, class)、score(student_id, subject, score)。
    • SQL:SELECT s.*, SUM(sc.score) total FROM student s JOIN score sc ON s.id=sc.student_id GROUP BY s.id ORDER BY s.grade DESC, total DESC(按年級高→低、總分高→低)。

二、算法題(3 題,40 分鐘)

1. 連續遞增子數組分組

輸入:a[] = {12,13,14,2,4,5,7,9,3,6}
輸出:m[][] = {{12,13,14}, {2,4,5,7,9}, {3,6}}
思路:單次遍歷,維護當前遞增片段,遇非遞增則存入結果列表並重置。

2. 兩個有序數組合併

輸入:a[]、b[] 均升序
輸出:合併後升序數組
思路:雙指針歸併,O(m+n) 時間,O(m+n) 空間(或原地合併)。

3. 單層循環生成螺旋矩陣(難點)

n = 5
 1  2  3  4  5
16 17 18 19  6
15 24 25 20  7
14 23 22 21  8
13 12 11 10  9
思路:維護上下左右四邊界,方向向量 (0,1),(1,0),(0,-1),(-1,0) 循環,單層 for i=1..n*n 填充,撞牆換向並收縮邊界。

面試準備建議

  • Java 基礎(集合、併發、JVM、類加載)必須過關。
  • 設計模式結合業務場景講,不要背定義。
  • SQL 熟練掌握連接、分組、窗口函數。
  • 算法多練 LeetCode Easy/Medium,注重邊界條件與單層循環技巧。
  • Linux 實操常用命令,會查日誌、看端口、分析 CPU/內存。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved