携程秋招技术通用岗笔试复盘:题型、编程题与备考建议
发布时间:2026/9/1 17:57:09 作者:尧图编辑部 阅读量:1,286

收到2023年携程秋招技术通用岗第一批笔试通知的那一刻说实话我是有点懵的。当时8月底很多大厂的笔试还没开始携程节奏算是快的从网申到笔试通知间隔不到一周。我赶紧翻了牛客上往年的面经和笔经发现关于携程技术岗笔试的讨论并不多零零散散的消息只能拼凑出一个模糊轮廓有行测、有专业题、有编程题具体占比和风格不同批次之间差异不小。这篇文章就把我参加第一批笔试的完整经过、考场里遇到的具体问题、以及事后复盘得出的经验整理出来给后面准备携程笔试的同学一个参考。1. 从投递到笔试四天时间我做了什么1.1 携程“技术通用岗”到底是什么在说笔试之前建议先搞清楚你投的这个岗位到底考什么。携程的“技术通用岗”是一个比较大的池子覆盖后端、前端、客户端、测试、算法、数据分析等多个方向笔试采用同一套试卷的情况很常见然后根据你投递的具体方向和个人简历在后续面试环节分流。这就意味着笔试不会考特别细分的领域知识而是考察一个计算机专业学生最基础、最通用的技术底子。我当时在牛客和携程招聘公众号上查到的信息是技术通用岗笔试一般包含三个部分行测逻辑、言语、资料分析、技术客观题数据结构、网络、操作系统、数据库等、算法编程题。如果你投的是算法岗可能额外有机器学习相关的选择题但通用岗的技术题基本不涉及深度学习或复杂模型推导。第一批笔试的题型分布和我预想的比较接近但具体的题目风格、难度曲线、时间压力还是和普通刷题有很大区别。1.2 笔试通知里的关键信息和容易被忽略的细节笔试通知邮件里几个信息点一定要逐字看清楚。第一是笔试时间携程秋招第一批通常在8月底到9月初场次固定错过了基本没有补考机会所以收到通知后第一件事就是设日历提醒。第二是考试平台携程用的是第三方在线笔试系统网页端考试要求摄像头全程开启电脑需要有可用的麦克风和前置摄像头。第三是考试时长和题量这个直接决定了你的做题节奏。我当时注意到一个细节邮件里写了“笔试需要开启摄像头请提前测试权限”。很多人第一反应是“我电脑有摄像头就行”但实际操作中部分浏览器默认禁用了摄像头权限或者考试系统登录后才发现摄像头画面是黑的等到开考再去调权限几分钟就这么浪费了。我考前提前一小时登录系统测试了摄像头、麦克风、屏幕共享三个功能确认无误后才退出等待进入考试。这个习惯帮我省了不少麻烦因为考场里确实有人因为摄像头问题被卡在登录页。1.3 考前四天的资料选择和刷题策略收到笔试通知到开考只有四天时间紧不可能系统复习只能抓重点。我当时给自己定的策略是LeetCode按高频题刷主攻数组、字符串、哈希表、链表、二叉树、动态规划这几类计算机网络只看TCP握手、HTTP、DNS这些高频考点数据库重点复习索引、事务、SQL join操作系统过一遍进程调度、死锁、内存分段分页。行测部分我放在了每天零碎时间看因为这类题更吃熟练度而非知识储备。我找了一套公务员行测的真题重点练资料分析里的图表题和逻辑判断里的削弱加强题这两类出现频率最高。言语理解题其实不太需要特意准备靠平时的阅读基础和考场上的耐心就能应付。四天时间每天保证白天4小时刷题晚上1小时过基础知识点时间不算充裕但足够把状态调整到“能考试”的水平。2. 第一批笔试的题型全景和想象中不太一样2.1 整场笔试的时间轴与模块构成进入考试系统后整体是一个计时页面从进入那一刻就开始倒计时总时长我记得是120分钟。所有题目在同一个卷子里你可以自由选择先做哪部分不需要按顺序答题也没有单独限时。我当时看到这个设计还挺惊喜因为它意味着可以根据自己的强弱项灵活安排时间。题目模块大致是这样的先是若干道言语理解和逻辑判断题中间穿插着资料分析的图表题接下来是技术客观题最后是两道算法编程题。但卷面本身没有明确的模块标识所有题目按顺序排列需要自己判断哪些是行测、哪些是技术题。实操上我的策略是先把卷子从头到尾浏览一遍快速标出编程题的位置然后决定按什么顺序作答。浏览完一遍后我的判断是行测部分大概有10到12道左右技术客观题大概在15道上下编程题两道。总题量不算太大但陷阱在于行测里有些题目需要耐心读题技术题里有些选项容易混淆加上编程题非常耗时120分钟如果安排不好很容易出现在最后一道编程题上时间不够的情况。2.2 行测部分占比真相分数不高但影响心情很多人觉得行测就是走个过场认真学习过的人都知道这部分分数在总分里占比不高但它对你的考试心态影响极大。行测题里最耽误时间的是言语理解有些题干特别长跟小作文一样读一遍就要一分钟读完发现选项个个看着都对选起来很纠结。第一批笔试里我记得有一道言语题题干大概是一段关于在线旅游平台用户评论量变化的材料然后问这段文字主要在说明什么。这种题考的是快速提炼主旨的能力答案往往藏在转折词和首尾句里。我当时给自己定的原则是言语题尽量控制在每题一分半以内超过时间就凭第一印象选不回头反复修改。因为这类题改答案的正确率并不比第一印象高反而会打乱节奏。逻辑判断部分考了一道“甲、乙、丙、丁分别去哪个城市旅游”的排列题这种题目用列表法或者排除法都能做但考场时间紧张我直接用了代入排除把选项一个个往条件里套反而比现场画表更快。资料分析题这次没有出那种特别复杂的计算主要是一个表格加几道问答题计算量不大但需要细心单位、百分比这些容易搞错的地方一定要看清。2.3 专业客观题覆盖范围比往年更“杂”技术客观题是我花了比较多精力准备的部分但第一批笔试的实际难度比我想象中要基础主要靠平时积累。整体感受是数据结构、计算机网络、数据库和操作系统都有涉及但各只出了几道没有特别偏门的内容。比较意外的是卷子里还出现了两道相对小众的题一道涉及Linux文件的权限位一道涉及Git命令操作的结果判断。这两类题不难但如果平时不太用Linux和Git很容易被选项绕进去。我身边有同学就是死在Git那道题上选项里有一项是“git pull会覆盖本地未提交的修改”这个说法其实不对因为pull在merge时会因为冲突而停下不会直接覆盖很多人纠结到底选不选。所以我的建议是准备笔试时不要只盯着算法刷题Linux基础命令、权限管理和Git的基本操作也要花点时间过一遍。3. 资料分析图表题最容易被轻视的送分题3.1 考场上的图表长什么样这一部分我单独拿出来说是因为它真的很像考试里的“稳定拿分项”但它又不至于简单到可以完全不复习。第一批笔试考到的资料分析题背景是关于2022年各季度某旅游平台订单量和平均订单金额的统计表表里按四个季度分别给出了订单量、同比增长率、平均订单金额等数据。具体题目我记得有一道是让算第四季度订单量相对第一季度的增长率这类题目本身不难但它会设置干扰项比如表格里给的增长率是同比而题目问的是环比不仔细看表格的表头直接拿同比数据去算答案就会掉到错误选项里。3.2 我的做题顺序先题后表还是先表后题关于资料分析题网上一直有两种做题方法。一种是先花15秒快速扫一眼表格的表头、单位和行字段再看题目另一种是直接看题带着问题去表格里找数据。我个人的习惯是先花十几秒看表头弄清楚每一行每一列到底是什么含义然后带着问题去定位。这样做的好处是你在做题时不用每道题都从零开始理解表格结构第一次看表花的时间后面每道题都能省回来。比如表格里如果单位是“万单”而题目选项里给的数字是“亿单“早看表头就能直接排除错误选项完全不需要计算。第一批笔试的第二道资料分析题就是在单位换算上设置了坑选项之间差了10000倍不看表头的人很容易选错。3.3 这部分的实际得分策略资料分析题通常难度不高我的目标是全对所以在时间分配上给了比较充裕的预算大概每道题2到3分钟。实际操作中我会先把题目的要求圈出来比如”以下哪项最能说明2022年第三季度订单量大幅增长的原因“这种题重点不是计算而是理解表格附注里的业务背景。另外资料分析题里经常会出现“根据上图下列说法正确的是”这种综合判断题四个选项各说一个结论需要逐一判断。这种题最花时间我的技巧是优先看运算简单的选项遇到需要两步以上计算的选项先跳过用排除法选答案。第一场笔试里有一道综合判断题A选项简单比较两个季度数值就能判断B选项需要算增长率、再比较C选项要做乘法对比我直接先验证A发现正确后就锁定了答案B、C、D都没看省了不少时间。4. 计算机基础客观题考点清单与易错点复盘4.1 数据结构与算法题栈、队列、二叉树数据结构这块是技术客观题里最可预测的部分。第一批笔试考了栈的特征判断考了一道前缀表达式求值的问题还有一道关于二叉树层序遍历结果的题目。这些都是数据结构课程里最基础的内容只要平时认真学过看到就能秒选。但有一点值得注意题目虽然基础选项却经常挖坑。比如栈的题目选项里可能有“栈是一种先进先出的数据结构”这种表述一眼看就知道不对但是如果你在考试时因为紧张没注意“先进先出”和“先进后出”的区别就会丢掉这道白送的分。我的习惯是做技术客观题时把每个选项都读完整尤其注意限定词比如“一定能”“不可能”“最多”“最少”这些词往往是判断对错的关键。二叉树层序遍历那道题问的是给定一棵二叉树层序遍历的结果可能是什么。这类考点考察的是对BFS的理解只要按层级从左到右列出节点就能得到答案。真正容易错的是那种给出一串遍历结果问它是先序还是中序遍历的变体需要你在脑子里把树的结构还原出来。备考时可以多练几道“根据遍历序恢复二叉树”的题这对笔试和面试都有帮助。4.2 计算机网络TCP握手、HTTP状态码计算机网络这部分第一批笔试考了TCP三次握手过程中状态变化的顺序具体是“SYN_SENT-ESTABLISHED“这类状态切换的选择题。这个知识点属于必考中的必考我在准备时就已经默认它会出所以做起这题几乎没有犹豫。比较有意思的是题目并没有直接问三次握手的数据包名称而是给了几个状态让你选出哪一个是客户端在第三次握手后进入的状态。所以除了记住SYN、ACK这些标志位状态机的变化也要记得清楚。另外有一道HTTP状态码的题问“服务器无法找到请求的资源”对应哪个状态码答案是404这种题目没有技术难度但要求你记清楚常见状态码的含义。我建议在准备时把200、301、304、400、401、403、404、500、502、503这些状态码都过一遍不只是含义还包括它们之间的区别。去年有一道题就是问403和401有什么区别前者是“没有权限访问”后者是“身份未认证”这两个如果不仔细区分就会记混。4.3 数据库与操作系统索引、事务、进程调度数据库的题主要围绕索引和事务。第一批笔试里有一道关于”事务的哪一特性保证了多个事务并发执行后结果与串行执行一致“的题答案是隔离性Isolation。这里有个容易混淆的地方四个选项中通常会同时出现原子性、一致性、隔离性、持久性如果只是背了ACID四个字母没有理解每个特性的含义很容易把”一致性“和”隔离性“弄混。操作系统考了进程调度的相关知识一道是问哪种调度算法可能导致饥饿现象选项里有先来先服务、短作业优先、时间片轮转等。答案是短作业优先因为一直有更短的作业插入时长作业可能一直得不到CPU。这种题属于经典题刷过一遍操作系统复习资料的基本都会。还有一道题涉及进程与线程的区别问共享内存和共享文件描述符分别属于进程还是线程这种题比较基础但选项设置容易让你反复纠结平时没有动手写过并发程序的话可能会靠猜。Linux和Git这两道题我在前面提到过这里再补充一个细节。Linux权限位那道题给出一个文件的权限字符串”rw-r--r--“问对应的数字表示是什么答案是644。这种题只要知道r、w、x分别对应4、2、1再加权求和就能算出来。Git那道题问的是一段git操作之后的本地分支指向状态我在答题时在草稿纸上画了简单的提交链比纯靠脑子推准确率高很多。5. 编程题复盘两道题决定生死5.1 第一道字符串/哈希类题目的得分思路编程题是整套笔试里分值最大、最拉开差距的部分。第一批笔试共两道编程题第一道难度适中第二道偏难。我记得第一道题的场景大概是这样给出一组用户的预订记录每条记录包含城市名和预订次数要求把城市按预订次数从高到低排序如果预订次数相同则按城市名的字典序排序输出前N个城市。这题考察的是哈希表排序思路非常直接用一个哈希表统计每个城市的预订次数然后转成列表按关键字排序最后取前N个。难点不在算法而在编程语言的排序写法上。如果你用Python一个sorted(dict.items(), keylambda x: (-x[1], x[0]))就能解决但如果你是用C写的就需要自定义比较器容易在语法细节上出错。from collections import Counter def top_cities(records, n): counter Counter(records) sorted_cities sorted(counter.items(), keylambda x: (-x[1], x[0])) return [city for city, _ in sorted_cities[:n]]这部分的经验是笔试时编程环境支持多种语言选自己最熟练的一门不要临时切换。有人觉得C执行效率高就一定用C但其实在在线笔试这种场景下Python的简洁语法能帮你节省大量调试时间。第一道题我大概用了15分钟就完成了包括写代码和自测用例靠的就是对Python排序写法的熟悉。5.2 第二道动态规划题拆解过程第二道编程题明显拉开梯度。题目的场景是一个旅游路线优化的变体给定N个景点每个景点有游玩时间和满意度分值在总时间有限的限制下选择哪些景点能获得最大的满意度总和。本质上就是一道经典的0/1背包问题。背包问题的核心是状态转移方程dp[j] max(dp[j], dp[j - time[i]] value[i])其中dp[j]表示在j单位时间内能获得的最大满意度。第一反应是直接套模板但实战中要注意一个坑题目的时间上限范围可能很大如果直接开一个二维DP数组内存可能超限所以需要用一维倒序更新来压缩空间。def max_satisfaction(times, values, total_time): dp [0] * (total_time 1) for i in range(len(times)): for j in range(total_time, times[i] - 1, -1): dp[j] max(dp[j], dp[j - times[i]] values[i]) return dp[total_time]我在这道题上花了大约20分钟遇到的一个实际问题是题目的输入格式不是按景点顺序给出“时间 满意度”对而是先给一个包含所有时间的列表再给一个包含所有满意度的列表需要在读入时把它们配对。这个转化并不难但如果你在心里默认了“每行一个景点”的格式就会一直在输入解析上卡壳白白浪费时间。5.3 笔试编程的一个隐藏规则部分分怎么拿很多人以为在线笔试编程题要么AC要么0分其实不是。携程这场笔试两道编程题即使没完全通过测试用例也会按通过的测试点比例得分。所以我处理编程题的原则是优先保证“能过部分用例”的代码再追求完整的最优解。这一点很关键。如果你在第二道题上写了最优解的思路但由于边界条件没处理好、或者动态规划数组越界导致连第一个样例都过不了那是非常吃亏的。更务实的做法是先写一个暴力的递归版本保证在小规模数据下能通过所有示例用例然后看剩余时间再优化成DP版本。我在考场上就是这么做的。第二道题我先用递归写了一个能正确运行的基础版本确认逻辑无误后再改成动态规划。这样即使最终DP版本因为某个特殊情况没完全AC暴力版本也已经帮我拿下了一些基础分。拿到题先想“暴力怎么做”而不是直接想“最优解怎么做”这个习惯在笔试里非常实用。6. 笔试后的复盘与等待这份经验比结果更值钱6.1 从交卷到面试邀约时间线参考交卷之后我做的第一件事不是对答案而是把笔试过程中遇到的所有题目的考点记在了备忘录里趁记忆还新鲜。这个方法强烈推荐因为很多题目过一两天再回忆细节就模糊了。笔试结束后约一周我收到了面试邀约通知节奏比预想中快。携程的招聘流程一般是网申、笔试、技术面试、HR面试、offer审批。第一批笔试的时间比较早所以面试也会分批推进。如果你笔试完一周还没收到通知不代表挂掉了因为笔试成绩可能会和后面几个批次的同学一起排序面试邀约可能会延迟到所有批次笔试结束后统一发放。所以笔试结束后不需要焦虑地刷新邮箱保持心态该准备面试就准备面试。我在等通知的这段时间里做了两件事一是把笔试里不会的题重新做了一遍比如Git那道题我专门翻文档查清楚了git pull和git fetch的区别二是开始准备面试中必问的“自我介绍”和“项目经历”两个环节因为它们与笔试结果无关无论是否通过都用得上。6.2 我是怎么给自己估分的笔试交卷后系统不会马上给出成绩等待期间可以自己大概估一下分数区间。我的估分方法是行测部分按自己做题时的把握程度把题目分为“确定对”“模棱两可”“基本靠猜”三档技术客观题同理只不过更依赖知识点的熟悉度编程题按通过的测试用例比例粗略估计。估分的价值不在于精确预测结果而在于让你知道自己的短板在哪里。我估完分后发现行测里的言语理解和资料分析准确率还可以技术客观知识题大概率能对七成但Git和Linux的小众题都错了说明平时的技术视野还是偏窄。这个结果直接指导了我后面准备面试的方向让我有意识地去补了一些工程实践相关的知识。6.3 给下一届同学的一点点建议写到这里我想再给准备参加携程秋招笔试的同学几条实在的建议。第一点重视基础但不要只盯算法。很多人的备考重心都放在了刷LeetCode上但携程这样的在线旅游平台技术岗笔试其实非常看重计算机基础的综合掌握程度。数据结构、计算机网络、操作系统、数据库这四门课每一门都可能出3到5道选择题加起来的分值不比一道编程题低。第二点行测部分的准备方式要灵活。不需要像考公务员那样系统复习但至少要把逻辑判断和资料分析这两类的常见题型练一遍。考试时行测题如果卡壳超过三分钟建议直接蒙一个并标记出来不要恋战因为你后面还有两道编程题等着你。第三点考前的设备测试和网络检查一定不能省。在线考试最怕的不只是题目难还有中途断网、摄像头掉线这种意外。考前半小时重启一下电脑关掉所有弹窗软件和即时通讯工具把考试页面放在单独的浏览器窗口里这些细节能让你把全部精力集中在题目上。说实话第一批笔试的题目难度并没有我预想的那么高但它考察的面确实足够广让我意识到自己在技术基础之外还有很多需要补的地方。如果你正在准备携程的秋招笔试希望这篇复盘能帮你少踩一些坑。哪怕最后没有通过笔试认真总结一次笔试经验对你的成长也不会是坏事。