
先说个背景2019年秋天我参加了招商银行信用卡中心的IT笔试开发方向第三批岗位是软件开发方向整体感受是“时间紧、范围宽、行测和英语占比高于预期”。这篇文章会把那场笔试的题型分布、考点细节、做题顺序、编程题思路以及我踩过的坑完完整整写出来。无论你是准备银行系IT岗还是想了解金融科技类的校招笔试长什么样这篇都值得认真看完。我先把结论放在前面招行信用卡中心的IT笔试不是纯粹的技术笔试更像“行测 英语 技术知识 编程题”的混合体。如果你只用刷LeetCode的思路去准备大概率会在前面的行测部分浪费太多时间导致后面编程题没时间写。这是我最想提醒你的一件事。1. 银行IT笔试的整体格局与考察逻辑1.1 这场笔试到底在筛什么人招行信用卡中心的开发岗在招聘流程里属于“总行下属机构单独招聘”的模式笔试由招商银行信用卡中心自己组织用的在线笔试平台是赛码网。整体流程一般是网申 - 在线笔试 - 技术面试 - HR面试。笔试的淘汰率很高原因不是你技术不行而是很多人在非技术模块就被刷掉了。我当时拿到笔试邀请后第一反应是去刷LeetCode结果进了笔试系统才发现真正的题目构成和互联网大厂完全不一样。整场笔试一共两大部分第一部分是“统一考试”包含情绪测试、言语理解、数量关系、逻辑推理、资料分析、英语阅读理解第二部分才是“技术笔试”包含技术单选题、多选题、编程题。这套结构说明了一件事银行系的IT笔试不只是考你能不能写代码还在考你在压力下的综合能力、逻辑清晰度、英语阅读速度以及最基本的职业性格是否稳妥。尤其性格测试看起来不起眼但真的会刷人。1.2 时间分配与分值权重直接影响做题顺序不同批次的题量和时间会有微调我当时那场开发方向第三批大概是这样的模块题量建议用时核心目标情绪与性格测试约100题15分钟真实作答别前后矛盾言语理解约10题10分钟拿稳基础分数量关系约10题15分钟会做就做不会就蒙逻辑推理约10题10分钟图形推理靠特征记忆资料分析约10题15分钟找数快算得准英语阅读约3篇15分钟先看题干再回文章定位技术单选多选约25题15分钟多选宁少勿多编程题3道剩余所有时间至少AC一道保底这里有一个特别关键的点赛码网整场考试是分模块计时的不是给你一个总时间自己随便分配。也就是说行测部分到了时间就自动交卷不会因为你后面编程题想多做一会儿就把前面的时间挪过来。所以正确策略是行测部分不要恋战资料分析最后那个大题如果还剩不到5分钟直接放弃凭感觉选。因为资料分析计算量大费时费力而分数权重也没有高到值得你花掉后面编程题的时间。1.3 赛码网笔试平台与环境准备招行信用卡中心的在线笔试用的是赛码网这个平台和牛客网、智联、北森类似都是网页端做题。考前一定要提前做两件事一是用赛码网的模拟笔试功能跑一遍流程看摄像头能否正常开启二是确认自己的浏览器版本建议用Chrome或最新版Edge。赛码网有一个很坑的特性编程题支持的语言里Java和C是最稳的Python虽然也行但个别题目对Python的时间限制卡得很严。我当时用的Java整体比较稳妥。还有一个小细节赛码网在笔试过程中会随机弹出“切屏警告”如果你切出浏览器去查资料会记录在案频繁切屏有被视为作弊的风险。所以考前把你的本地代码编辑器准备好写代码的过程尽量在笔试系统自带的编辑器里完成不要来回切屏。2. 行测与英语模块的实战复盘2.1 言语理解别靠语感靠结构分析言语理解这部分大概有10道题主要分两类选词填空和主旨概括。选词填空考的并不难但选项里经常出现“似是而非”的近义词比如“甄别”和“辨别”、“推脱”和“推托”这种。平时积累不够很容易看哪个都像对的。我个人觉得言语理解最需要冷静。做题时先把关联词圈出来“但是”“然而”“其实”后面往往是核心观点“为了”“由于”“导致”这类因果关系词则是快速理清文段脉络的关键。中心理解题里出现“意在说明”“想要强调”这种提问方式时选项一般不是原文原话而是对原文的进一步引申这个规律能帮你排除掉一半的干扰项。我还发现一个规律招行这类银行笔试的言语题语料经常来自经济类新闻比如央行政策、金融科技、移动支付、消费金融这些话题。你在阅读材料里看到“招商银行”“信用卡”“零售金融”这些词基本就是银行内部题库的风格。这类材料读起来不陌生但会有一些金融术语建议考前把常见的金融词汇过一遍比如“去杠杆”“资产证券化”“不良贷款率”“拨备覆盖率”知道大概意思就不会在阅读理解中被术语卡住。2.2 逻辑推理与数量关系性价比最高的抢分点这两个模块是行测里最容易在短期内提高的。逻辑推理主要考图形推理和逻辑判断。图形推理的考点其实非常固定无非是点线面角素、对称性、封闭空间、元素数量、旋转翻转、叠加去同存异。看到图形先看“图形之间的整体特征”如果图形之间差异很大优先考虑各自内部的数量规律比如封闭区间数、交点数、线条数如果图形之间局部相似优先考虑叠加、去同存异、旋转。逻辑判断题里最常考的是“加强/削弱”和“翻译推理”。银行笔试的难度比公务员考试稍微低一点题干没那么长选项也没那么多陷阱。翻译推理只需要记住“如果A那么B”等价于“A→B”“只有A才B”等价于“B→A”以及逆否命题等价基本就能应付。数量关系这一块我的原则是“保三争五”。十道题里通常有3道是送分题比如简单方程题、工程问题、浓度问题有2~3道是中等题比如排列组合、概率、最值问题剩下的就是计算量大、关系复杂的题直接蒙一个走人。很多人觉得数量关系难是因为喜欢列方程硬解。其实银行笔试的数量关系题很多可以用“代入法”和“特殊值法”快速拿分。比如单选题里问“某班男生人数是女生的1.5倍问全班人数可能是多少人”直接拿选项去试哪个能被2.5整除就选哪个。这种题你用方程也能解但代入法速度快一倍。2.3 资料分析找数比计算更重要资料分析大概是两篇材料、10道小题。材料类型一般是表格、柱状图、折线图或者是“文字图表”混合。银行笔试的资料分析题通常不难难的是时间紧张。前面已经说了如果你在前面花太多时间很容易在这个模块草草收场。我的做法是先花20秒扫一眼材料的标题、表头、单位知道每个数据大概在哪一块然后立刻去看问题带着问题回材料定位数据。计算上能用估算就不用精算。比如题目选项差距比较大的时候保留两位有效数字去算就足够了。看见“约”字就说明可以接受误差不要老老实实去精算。2.4 英语阅读银行IT特有的送分题银行类的笔试几乎都会带英语招行信用卡中心的英语题大概是3篇阅读每篇5道题总时长15分钟。难度比六级略低比考研英语简单文章主题偏向科技、经济、管理类。这里有个经验要告诉你英语阅读不要通读全文。先看题干再回文章找答案。很多细节题比如“According to the passage, which of the following is TRUE”直接在文章里找关键词所在的位置对比句意就行了。每一篇的最后一道题通常是主旨题这种题需要你快速浏览文章首尾段和各段首句综合判断。英语题在整场笔试里占的分值不低但它其实是所有模块里最不需要担心的一个。我建议考前一周每天精读两篇经济类短文保持语感不要在这个模块上花太多精力因为它比较吃基础临时抱佛脚提升有限。3. 技术基础题多选是重灾区3.1 技术单选与多选的出题风格技术部分大概有25道题单选和多选混合。方向偏向Java、C、数据结构、计算机网络、操作系统、数据库。整体难度比互联网大厂简单不少但多选题是个大坑。为什么说多选是坑因为银行笔试的多选题通常采用“少选、错选、不选都不得分”的规则。也就是说你哪怕只选对了一个选项但漏掉了另一个正确选项这道题依然是零分。这个规则直接决定了策略拿不准的选项绝对不要选宁可少选也不能错选。举个例子有一道题问“下列哪些属于TCP协议的特点”选项大概是面向连接、可靠传输、面向报文、支持广播。TCP是面向字节流的不是面向报文的所以“面向报文”这个选项是错的。但如果你对TCP和UDP的区别不熟很可能把“面向报文”选进去这道题就直接零分了。3.2 数据结构与算法链表、二叉树、排序必考数据结构部分的题目主要集中在几个固定考点上。链表和数组的对比、栈和队列的特性、二叉树的遍历方式、排序算法的复杂度和稳定性、哈希表的冲突解决方法。这些都是最基础的知识点但正因为基础很多人反而容易忘记细节。我考到的一道题是“以下哪种排序算法在最坏情况下时间复杂度为O(nlogn)”选项是冒泡排序、快速排序、堆排序、插入排序。正确答案是堆排序。很多人会选快速排序但快速排序最坏情况下是O(n²)只是平均是O(nlogn)。这种题就是经典的“细节区分”题复习的时候一定要把“最坏/平均/最好”三种情况下的时间复杂度和空间复杂度整理清楚。另一个高频考点是“给定一个二叉树的前序遍历和中序遍历求后序遍历”。这种题我当时考到的时候觉得很简单因为前序是“根左右”中序是“左根右”只要从前序里找到根节点去中序里划分左右子树递归套下去就行了。笔试环境里没有纸笔的话会有点难受但赛码网提供一个简单的在线草稿板考前要提前适应一下在网页里写写画画的感觉。3.3 操作系统与计算机网络经典八股但考得浅操作系统主要考进程和线程的区别、进程状态转换、死锁产生的四个必要条件、银行家算法、页面置换算法、虚拟内存等。计算机网络主要考OSI七层模型和TCP/IP四层模型对应关系、TCP三次握手、TCP与UDP区别、HTTP状态码、DNS解析流程、子网掩码计算。我记得有道判断题死锁产生的必要条件有哪些四个条件是互斥、请求保持、不可剥夺、循环等待。这类题就是纯记忆题没有技术含量但你不背就真的不会。计算机网络里比较常考的一个计算题是子网划分。比如“某公司有200台电脑问最少需要多少个C类地址”答案是两个C类地址。因为一个C类地址最多支持254个主机地址200台需要一个C类但有些题目会加条件说需要预留扩展那就得看题目怎么描述。这类题目关键是读懂题干里“至少”“最多”“预留”这些字眼。3.4 数据库SQL语句和索引是核心数据库考题集中在SQL语句、三大范式、事务ACID特性、索引原理、锁机制。难度不大但SQL题的坑在于“考得很具体”。比如会给你两张表要求写出某个查询语句或者问“下列哪个SQL语句可以实现去重查询”。这种题就是靠平时写得熟不熟。索引部分最常问的是“为什么使用B树而不是红黑树作为索引结构”。答案是B树非叶子节点不存储数据、叶子节点之间通过指针连接、一个节点可以存储更多索引项减少了磁盘IO次数。这是一个经典面试题放在笔试里就是送分题只要你背过就一定能拿分。事务的隔离级别也是一个高频考点读未提交、读已提交、可重复读、串行化。MySQL默认的可重复读Oracle默认的读已提交。问到“脏读在哪个隔离级别下不会发生”时答案是读已提交及以上。这种题如果没复习过靠常识也勉强能推出来但最好还是系统过一遍。3.5 Java/C基础语言细节才是拉分项开发方向的技术题里Java和C的占比很高。我当时的卷子里Java题明显比C多应该是招行那边开发岗以Java为主的原故。Java常考的包括HashMap底层原理、ArrayList和LinkedList区别、String/StringBuilder/StringBuffer区别、与equals的区别、try-catch-finally的执行顺序、线程池参数含义、JVM内存区域、类加载机制、垃圾回收算法。有一道题很经典“ArrayList和LinkedList哪个更适合随机访问”答案是ArrayList因为ArrayList底层是数组随机访问是O(1)而LinkedList底层是双向链表随机访问需要O(n)。但如果问“哪个更适合频繁插入删除”答案是LinkedList因为数组插入需要移动元素。这种题就是纯概念题看一眼就会。C常考的则包括指针与引用的区别、虚函数与纯虚函数、重载与重写的区别、构造函数和析构函数的执行顺序、深拷贝与浅拷贝。如果你投的岗位偏JavaC不需要准备太多把基本概念过一遍就行但如果你投的是偏底层方向的开发岗那C的深度会明显加大。我有一次在地铁上刷手机看到有人分享“拼多多笔试考了虚函数表”虽然银行笔试没考到这么深但你可以大致感受一下技术题考察的深度往往取决于岗位的细分方向。招行信用卡中心的开发岗整体偏应用不会在语言底层上疯狂深挖但基础的原理必须能说清楚。4. 编程题实战场从思路到AC4.1 第一道题字符串处理类保底题编程题一共3道难度从易到难。第一道题通常是字符串处理或简单数组题难度对标LeetCode简单或简单偏中等。这道题是必拿分题因为如果你连这道题都AC不了后面两道题大概率也做不出来整场笔试的技术分就会非常难看。我考到的一道题大致是给定一个字符串去掉其中所有重复字符并保持字符出现的相对顺序输出处理后的字符串。例如输入“abracadabra”输出“abrcd”。这道题的思路非常直接用一个HashSet记录已经出现过的字符遍历字符串如果当前字符不在Set中就加入结果同时加入Set如果在Set中就跳过。复杂度为O(n)。核心代码大概是这样public static String removeDuplicate(String s) { SetCharacter seen new HashSet(); StringBuilder sb new StringBuilder(); for (char c : s.toCharArray()) { if (seen.add(c)) { sb.append(c); } } return sb.toString(); }这里有一个关键考点HashSet的add方法返回boolean如果元素已经存在返回false。用这个特性可以少写一个contains判断。这种小技巧笔试时一定要反应出来因为能省几秒钟积少成多。4.2 第二道题区间合并类容易出现细节Bug第二道题一般比第一道难一些我当时遇到的是区间合并问题给定一组区间合并所有重叠的区间。输入是[[1,3],[2,6],[8,10],[15,18]]输出应该是[[1,6],[8,10],[15,18]]。这道题的常规解法是先把区间按左端点排序然后维护一个当前合并区间的左端点和右端点。遍历所有区间如果当前区间的左端点大于当前合并区间的右端点就把当前合并区间加入结果并开启新区间否则更新合并区间的右端点为两者中的较大值。public static int[][] merge(int[][] intervals) { if (intervals null || intervals.length 0) return new int[0][]; Arrays.sort(intervals, (a, b) - a[0] - b[0]); Listint[] result new ArrayList(); int left intervals[0][0], right intervals[0][1]; for (int i 1; i intervals.length; i) { if (intervals[i][0] right) { result.add(new int[]{left, right}); left intervals[i][0]; right intervals[i][1]; } else { right Math.max(right, intervals[i][1]); } } result.add(new int[]{left, right}); return result.toArray(new int[0][]); }这道题容易出错的地方在于排序的lambda表达式。赛码网的在线编辑器对Java 8的语法支持较好但如果你的编辑器默认用Java 7lambda会报错。我当时就踩了这个坑最后手动改成了Comparator的写法。所以强烈建议你考前查一下笔试平台支持的Java版本不同平台之间差异真的很大。另一个坑是区间端点包含关系。有的题题目会明确说“区间 [a, b] 和 [c, d] 重叠当且仅当 a d 且 c b”但有时候“端点相邻也算重叠”比如[1,2]和[2,3]算重叠有时候又不算。一定要认真读题不要默认。4.3 第三道题动态规划类尽力而为第三道题我当时没有完整AC只过了一部分测试用例。题目是一个典型的动态规划问题类似“给定一个包含非负整数的网格找出从左上角到右下角的最小路径和”但加了一个条件只能向右或向下走。这类题的状态转移方程是dp[i][j] min(dp[i-1][j], dp[i][j-1]) grid[i][j]。边界条件是第一行只能从左边来第一列只能从上边来。如果你刷过LeetCode的“最小路径和”原题这道题就是送分题但如果你没刷过现场推导状态转移方程会费不少时间。我的建议是第三道题不要强求AC。在笔试最后15分钟如果你第二道题已经写完且通过了部分用例第三道题可以先写一个暴力解法或者贪心解法哪怕只通过20%的测试用例也能拿一部分分。银行笔试的编程题判分通常按测试用例比例给分不是非0即1。5. 考后复盘与备战技巧5.1 当场估分与下一步安排笔试结束后赛码网不会当场给分。一般需要等一周左右如果通过会收到面试邀约。招行信用卡中心的面试通常在笔试后一到两周内启动流程是技术面 HR面有些岗位会有两轮技术面。我当时笔试结束后做了一个很傻的事在社交平台上搜“招行信用卡中心笔试面经”想找别人分享的答案来对。虽然确实找到了有人回忆的题目和讨论但意义不大。因为你已经交卷了答案对不对都改变不了结果反而会给自己制造焦虑。更值得做的是趁记忆清晰把笔试里遇到的题目和不确定的考点记录下来。这个记录不只是为了这一场对你接下来参加其他银行的笔试也很有用。因为银行系笔试的题库高度相似今天考的知识点很可能在下一场以变形的方式出现。5.2 银行系IT笔试的通用备考路线如果你准备的是银行系IT岗的秋招我的建议是不要只盯着LeetCode刷题。银行笔试的难点从来不在算法深度而在知识面的广度和做题速度。你要把精力分成几块行测模块要刷公务员考试的真题尤其是言语理解、逻辑推理、资料分析技术模块要把数据结构、计算机网络、操作系统、数据库的基础知识系统性过一遍编程题保持每周刷3~5道LeetCode简单和中等题练手感。还有一个很容易被忽视的备考点行测中的“数量关系”和“逻辑推理”其题目风格和公务员考试高度一致但银行笔试的难度略低。你可以直接找近几年的银行校招笔试真题来刷它们的题型和招行信用卡中心的相似度非常高比如“微众银行数据分析笔试”“拼多多笔试”中的行测部分虽然属于不同公司但行测的出题思路都源自同一套体系。5.3 笔试与面试的衔接技术面在问什么很多人在笔试通过后以为下一个难关是技术面试但实际上银行系的技术面试往往没有互联网大厂那么硬核。招行信用卡中心的技术面更看重你对基础知识的掌握程度、项目经历的完整度以及沟通表达能力。我当时在技术面里被问到了这几个问题HashMap的put流程、Java内存模型、MySQL索引为什么用B树、Spring的IOC和AOP、以及一个开放题“如果要设计一个信用卡账单分期功能你会怎么设计数据库表”。你会发现这些几乎全部是笔试里出现过的考点的深化版。也就是说笔试的准备过程本身就是在为面试打基础。所以不要把笔试和面试割裂开来笔试时积累的那些知识点面试前一定要再复习一遍尤其要能用自己的话讲清楚。笔试时你可能只需要选对选项面试时需要你把整个思路流畅表达出来这是完全不同的要求。6. 写在最后一些真实感受如果你正在准备招商银行信用卡中心或类似银行系机构的IT笔试我的核心建议可以浓缩成一句话行测是入场券技术是分水岭编程题是保命符。很多人行测裸考、技术临时抱佛脚、编程题只攻一道结果要么行测勉强过线但技术一塌糊涂要么技术很强但在行测上被时间拖垮。我个人的体会是银行IT笔试本质上是一场“压力下的准确率测试”它考的不是你有多聪明而是你在规定时间内能稳定输出多少。这种能力完全可以通过真题、模拟题、限时训练来提升。笔试前一周每天做一套行测限时训练手感和速度就能进步一大截。最后分享一个小技巧考试前30分钟打开赛码网的模拟笔试把摄像头、麦克风、浏览器权限都测试一遍。再找一个PDF阅读器因为有些银行的笔试题会附带PDF图表材料如果你的浏览器不支持内嵌PDF预览到时候资料分析就只能瞎猜了。这些小细节往往比多刷一道题更容易决定你的真实分数。