恒生电子 9.23 笔试:选择、SQL 填空与三道编程
- 轮次
- 笔试
- 时间
- 2026-09
- 来源
- 牛客网
《面试题目》
- 选择题。
- 多选题。
- 填空题:补充 SQL 语句。
- 编程题三道,第一道是一道又长又绕的 SQL 题。
《参考解析》
SQL 题在这类笔试里通常考什么:金融软件公司的笔试偏爱「从交易、账户、流水这类业务表里算指标」的场景,落点集中在几类:多表 JOIN 加聚合(GROUP BY / HAVING 过滤分组后的结果,注意 WHERE 与 HAVING 的执行顺序差别)、窗口函数(ROW_NUMBER / RANK 求分组 TopN,用日期差配合 row_number 解连续登录或连续 N 天达标)、行转列(CASE WHEN 配聚合,或者用 PIVOT)、日期与字符串函数(格式化、按月分组、时间区间重叠判断)、以及相关子查询与 EXISTS 的取舍。写之前先花一分钟明确口径:统计范围怎么定、要不要去重、NULL 怎么处理、边界日期算不算——笔试的长 SQL 失分大多不是语法,而是口径读错或漏了去重。写的时候先拆子查询把中间结果落清楚,再拼最终查询,比一口气写完更不容易出错。
选择题与多选题的常见范围与答题策略:范围通常是语言基础(Java 集合与并发、C++ 指针与对象模型)、数据库原理(事务 ACID、隔离级别与幻读、索引与 B+ 树、范式)、数据结构与算法(复杂度、常见结构性质)、操作系统(进程与线程、内存管理、IO 模型)、计算机网络(TCP 三次握手与四次挥手、HTTP 状态码与缓存)。多选题的规则通常是多选少选都不得分,所以拿不准时按最有把握的子集作答,靠排除法先把明显错的划掉;遇到「以下说法正确的是」这类题,注意绝对化表述(一定、必然、只能)往往是错的。
三道编程题怎么安排:先花两分钟把三题都读一遍,按「十分钟内能写完」的标准挑最简单的先做,不要被第一题的 SQL 拖住——笔试的分数按通过用例给,先把稳的分拿到手。常规编程题多落在字符串处理、数组与哈希、链表操作、简单贪心或模拟上;写完至少手动跑两组边界(空输入、单元素、最大值)。SQL 长题放到最后做,但要留足时间:它通常由一个复杂业务描述 + 多张表结构组成,先读懂表之间的关系,把「需要哪些中间结果」列出来,再逐层写子查询,最后检查 JOIN 条件有没有漏。
备考要点:恒生电子笔试的题型结构相对固定(选择 + 多选 + SQL 填空 + 编程),备考时按两条线走——一条是数据库,把 JOIN、聚合、窗口函数、索引原理这几个高频点练到能闭卷手写,尤其是「分组取 TopN」和「连续 N 天」两类模板;另一条是语言与计算机基础八股,用错题本记录反复做错的点。笔试前确认好编程环境(在线 IDE 的输入输出格式、是否支持本地调试),很多人失分在 IO 格式而不是算法本身。