行业资讯
📅 2026/9/1 3:53:20
2023联想秋招编程岗笔试全流程复盘:赛码网题型与答题策略
8月底收到的笔试通知时间是9月初的一个晚上全程在赛码网上完成。当时我正在宿舍刚吃完外卖看着邮件里“请在电脑端打开链接完成笔试”这几个字说实话心里是有点慌的。因为联想这场笔试算是我秋招以来参加的第一场大厂正式机考之前只做过一些牛客上的模拟题对真实考场环境完全没底。更让我紧张的是笔试链接里清清楚楚写着“考试全程开启摄像头监控需双机位遵守防作弊规则”这意味着连临时查资料的路子都被堵死了只能凭真本事硬上。考完之后我花了整整两天复盘把所有能回忆起来的题目和考点都整理了一遍。当时就想如果早点有人告诉我这场笔试具体考什么、平台有哪些坑、答题策略该怎么制定我大概能少走很多弯路。所以这篇文章就是完全站在“过来人”的角度把2023年联想秋招编程岗笔试从头到尾掰开揉碎讲清楚包括流程、题型、考点、答题策略、代码细节以及那些不进考场根本不知道的隐形坑。如果你正在准备联想的笔试或者准备参加其他大厂的编程岗机考这篇文章都值得你花20分钟认真读完至少能帮你规避掉我踩过的那几个坑。1. 笔试通知与赛码网环境准备从邮件到开考的全流程实录1.1 联想秋招的整体时间节奏投递、筛选、笔试通知先说时间线。2023年联想的秋招其实是分批次进行的技术岗、产品岗、职能岗的笔试时间都不一样。编程岗属于技术序列通常会有提前批和正式批两个批次提前批一般在8月中旬启动正式批在9月初启动。我当时投的是正式批简历投递截止后大概一周内收到了笔试通知。这里有个经验联想的简历筛选并不是完全按投递顺序来的而是会结合你的学校背景、实习经历、项目经历做一个初步筛选所以简历上的项目和实习一定要写得具体尤其是和编程相关的量化成果比如“优化了XX模块的查询性能QPS提升了30%”这种比单纯写“熟悉Java/Python”要有说服力得多。笔试通知是通过邮件和短信双通道发的邮件里会附上笔试链接、考试时间、考试时长和注意事项。有一点特别容易忽略邮件里那个链接是专属链接不能转发也不能用多台设备同时登录一旦系统检测到异常登录可能会直接判定为作弊。我当时老老实实只用一台笔记本手机放在侧面作为第二机位用微信小程序扫码登录监考系统和电脑端赛码网页面保持同步。1.2 赛码网平台踩坑记摄像头权限、浏览器兼容和IDE体验赛码网是很多互联网公司校招笔试的首选平台联想的编程岗笔试也选用了它。先说平台体验赛码网整体功能算是齐全的支持选择题、填空题、编程题多种题型编程题内置了在线IDE不需要本地写代码再粘贴过去。但“齐全”不等于“好用”这里有几个坑我必须重点提醒。第一个坑是浏览器兼容性。赛码网官方推荐使用Chrome或者Edge浏览器但我当时用Chrome打开笔试链接时系统直接弹了个警告说检测到浏览器版本过低可能存在兼容性问题让我升级或者换浏览器。实际上我的Chrome已经是当时的最新版了这就是平台的兼容性误报但我还是被吓得不轻赶紧切换到Edge才顺利进入。建议你们提前在设备上装好Chrome和Edge两个浏览器一个不行就换另一个千万不要在考试开始后才发现进不去。第二个坑是摄像头和麦克风权限。赛码网在进入考试前会有一个“环境检测”环节会依次检测摄像头、麦克风、屏幕分辨率、网络延迟。我当时摄像头检测没问题但麦克风一直没能识别到折腾了差不多十分钟。后来发现问题出在Windows系统的隐私设置里——麦克风的“允许应用访问麦克风”选项被关了。如果你也遇到这个问题去 系统设置→隐私→麦克风 里把开关打开再回到浏览器刷新页面授权即可。第三个坑是IDE的体验。赛码网内置的在线IDE支持C/C、Java、Python、JavaScript等常见语言但没有代码补全和语法检查功能就是一个纯文本编辑器加上一个运行按钮。这意味着平时习惯了IDE自动补全的同学在笔试时写代码会明显变慢而且容易因为手误出现低级语法错误。我当时考的是Python没有缩进提示全靠自己手动控制确实很不习惯。建议平时就养成在LeetCode、牛客这类平台用无补全模式刷题的习惯提前适应考场的手感。1.3 双机位监考规则别在细节上被判作弊2023年联想笔试的监考规则非常严格比往年要严格得多。开考前需要通过手机微信扫码完成第二机位的架设手机放在左后方或者右后方摄像头必须清晰拍到你的双手、键盘和屏幕。当时有一位同学在笔试群里问说宿舍桌子太小手机没地方放监考老师直接回复说“可以把手机架在旁边的凳子上调整角度确保拍到双手即可”。另外还要注意几个考场纪律细节考试全程不能退出浏览器窗口切屏会被系统记录。我当时是切屏一次警告一次切屏次数超过3次可能直接交卷。不能用本地IDE写代码再复制粘贴到在线编辑器系统会检测剪切板操作疑似作弊。考试过程中如果有人进入你的房间或者你的视线长时间离开屏幕监考老师可能通过手机端给你发消息提醒。这里其实暴露了一个很现实的问题大厂笔试的防作弊机制已经非常成熟完全不是“走过场”从题目随机抽取、浏览器监控到双机位视频录制全程都有记录。所以别抱任何侥幸心理老老实实复习才是正道。2. 编程题考了什么题型结构、知识点分布与高频考点拆解2.1 选择题部分范围广、题量少、纯基础先说整体结构。我的记忆里2023年联想秋招编程岗笔试一共是100分钟前半部分是15道左右的选择题后半部分是3道编程题。选择题的占比不高但绝对不可小觑因为这部分经常决定你能不能进入面试环节——编程题大家做得都差不多反而选择题拉开的差距更明显。选择题的考查范围很广涵盖数据结构、操作系统、计算机网络、编程语言基础、数据库、Linux常见命令等题型包括单选题和多选题有一部分还是**“选择错误的一项”**这样的反向出题。我当时印象最深的一道题是关于操作系统“进程和线程的区别”选项里有一句“同一进程的多个线程各自拥有独立的地址空间”这道题就是在考你对线程共享内存的理解是否透彻正确答案是“共享地址空间”所以选项说法是错的。选择题复习建议数据结构重点掌握数组、链表、栈、队列、树、图的基本操作和复杂度分析特别是二叉树的前中后序遍历和层序遍历几乎每年都会考。操作系统进程与线程、死锁、内存管理分页分段、进程调度算法这几个是高频中的高频。计算机网络TCP/IP分层模型、TCP和UDP的区别、HTTP和HTTPS的区别、DNS解析过程。编程语言根据你选的语言来C/C考指针和内存管理Java考垃圾回收和集合类Python考装饰器和列表推导式。数据库SQL基础语法、索引原理B树、事务的ACID特性。选择题的题量不多建议控制在25分钟内完成拿不准的题先标记不要死磕把时间留给后面的编程题。2.2 三道编程题的难度梯度签到题、中等题、压轴题我记得的3道编程题是典型的**“一易两难”梯度结构**第一道比较简单属于“签到题”基本上只要掌握了基础语法就能写出来第二道是中等难度需要一定的算法功底第三道是压轴难题需要综合运用多种算法技巧。第一道题大概是这个方向给你一个整数数组要求返回数组中所有重复元素组成的集合如果没有重复元素则返回空集合。这道题考察的就是哈希表的应用Python里用字典或者集合就可以轻松解决时间复杂度O(n)。但要注意输出格式题目要求输出结果去重且按升序排列我就见过有人因为没排序而扣分了。第二道题涉及动态规划大概是“给定一个棋盘从左上角走到右下角每次只能向下或者向右移动棋盘上有一些格子是障碍物不能走求总共有多少条不同的路径”。这是LeetCode上的经典原题62题和63题的变体核心状态转移方程是dp[i][j] dp[i-1][j] dp[i][j-1]加上障碍物判断即可。这道题能筛掉相当一部分人因为它考的不仅是会不会写状态转移还考你空间优化能力——把二维dp降到一维。第三道题我记得是考图论题目是“给定一个无向图求从节点1到节点n的路径中经过的边权最大值最小的那条路径输出这个最小最大值。”说白了就是最小化最大边权。常规的思路是二分答案加BFS/DFS验证但更优雅的解法是用Kruskal算法加并查集把边按权值从小到大排序一条条加进去当节点1和节点n第一次连通时那条边的权值就是答案。这道题能写出来的人不多我当时是用了二分加BFS做的时间复杂度比Kruskal高一些但也拿到了部分分数。2.3 高频考点背后的命题逻辑联想到底在考查什么能力考完复盘的时候我一直在想一个问题联想笔试为什么要这么设置题目后来把题目和联想的业务一对照多少能看出一些门道。联想作为传统硬件厂商同时也在积极转型做软件和云服务所以编程岗的人才需求是“既要懂业务又要懂底层”。第一道签到题考察数据结构基础对应的是日常开发中最常用的CRUD能力第二道动态规划考察算法建模能力对应的是业务逻辑中常见的路径规划、资源分配问题第三道图论题考察的是对复杂系统建模和优化的能力对应的是网络拓扑、任务调度这类场景。所以准备联想笔试时不要只会刷题还要去联想官网看看它目前的技术栈和业务重点做到“带着对公司的理解去答题”。另外一个很关键的考点是边界条件处理。我复盘的时候发现三道编程题的样例都比较简单但实际测试用例里会有大量极端情况比如空数组、单个元素、数组元素全部相同、大数溢出等等。这些边界条件处理得好不好往往决定了你是满分还是只有部分分。3. 答题顺序与时间分配我在考场上的真实策略与心态调整3.1 我的答题时间分配方案选择题限时编程题强攻留出检查时间先说一下我的时间分配方案这个方案是我在考前反复模拟后确定的考场上的实际执行效果也还不错0-25分钟选择题部分。每道题平均90秒25分钟内必须全部完成。拿不准的用标记功能标出来但不回头改第一直觉的答案。25-55分钟第一道编程题和第三道编程题。这个安排看起来有点奇怪其实是有讲究的——先做最有把握的题目建立信心然后直接挑战最难的题因为趁脑子最清醒的时候去做压轴题成功率更高。55-85分钟第二道编程题也就是动态规划那题。如果第三道题做不出来至少保证第二道是全对的。85-100分钟全面检查。检查的地方包括输入输出格式、变量命名有没有冲突、有没有多余的print、边界条件有没有覆盖。这个方案的优点在于先易后难、有保有攻缺点是万一第三道题卡了很久会挤压后面第二道题的时间。所以我在考点上做了妥协——第三道题如果25分钟内没有完整思路直接先写一个能过30%用例的暴力解法拿保底分然后立刻转头去做第二道题。这里有一个很重要的考试经验大厂笔试更看总分不是看你会不会做难题有时候稳扎稳打做对两道题比死磕一道难题只拿了部分分要划算得多。3.2 动规和二分卡壳时的自救方法暴力解法、降级方案和部分分策略说实话第三道图论压轴题我当时并不完全会之所以最后能拿到不错的分数靠的是合理的“部分分策略”。这里把这类场景下的自救方法分享给你们思路是通用的第一先确认输入规模。赛码网的两道题目界面顶部会显示数据范围比如“n ≤ 10的5次方m ≤ 10的5次方”。如果看到数据范围很大暴力解法大概率会超时但没关系暴力解同样有分至少前10%的测试用例很可能是小数据暴力解能直接AC那些用例。我当时虽然最后用的二分BFS最多只能拿到80分但至少有分进账。第二降低算法复杂度而不是完全换思路。比如第二道动态规划题如果二维dp空间爆了就优化成一维dp如果一维dp还是超时就想想能不能用数学组合数来解比如不限制“不走回头路”的时候路径数就是组合数C(mn, n)。这种渐进式优化比完全推倒重写效率高得多。第三特殊情况特判。比如第三道图论题如果答案是“不存在路径”输出应该是某个约定的特殊值比如-1如果图是连通的路径必然存在。这类边界判断往往就是一两行代码但能避免被隐藏用例扣分。3.3 心态崩了怎么救切屏警告、报错、时间不够时的应急定式笔试过程中会突然出现各种状况心态很容易崩而心态崩了才是笔试最大的敌人。我考试时遇到的最主要状况就是赛码网IDE运行报错。当时写第一道签到题自己明明觉得逻辑没问题但运行结果就是不对来回查了五分钟最后才发现是输出列表时多打了一个逗号Python语法报错。这种低级错误在时间压力下特别容易被放大一旦陷入“反复看代码却找不到错”的状态时间就哗哗地流走了。这里分享两个应急定式遇到报错先看第一行。编译器报的错误信息里第一行通常指向真正的语法错误位置后面跟的都是连锁报错。这里说的“报错”是赛码网IDE的报错提示文本不是某种字符形态别和名字带“报错”的网名混淆。只要把第一行报错位置改了后面的报错基本会全消失。样例过不了就打印中间变量。代码里临时插入一堆print()看程序跑到哪一步开始不对这比死盯着代码复盘要快得多。但交卷前记得删掉这些调试输出我见过有人忘记删调试print导致输出格式不对一整道题0分这是最冤的死法。4. 笔试复盘与进面判断从做题正确率到简历匹配度的隐形规则4.1 复盘的实际操作我把每道题错误原因整理成了四类笔试结束后两天内我趁记忆还鲜活认真做了一次完整复盘这也是我强烈建议你们做的。复盘的思路不是“错题重做”而是按错误原因分类这样你后面刷题才有针对性第一类“知识点空白”比如第三道图论题我一开始根本没想到Kruskal算法这就是知识盲区需要通过专项刷题补齐。第二类“思路陷阱”比如第二道动态规划题我的初始想法是DFS回溯方向就错了后来才想到用dp。这类错误说明对题型特征不敏感需要多总结套路。第三类“代码实现失误”比如第一道签到题变量名拼写错误、列表越界这些是纯粹的手误靠细心和规范编码习惯来避免。第四类“时间分配失误”比如选择题花了太多时间导致第三道题没时间写。这类问题可以通过模拟考来修正。4.2 笔试和简历其实是“组合筛选”算法分高不等于稳进面试一个残酷的事实是编程岗笔试不是单纯的算法竞赛它是和简历一起看的一个整体评价体系。我笔试后和已经拿到联想面试邀请的同学对过信息发现笔试分数在面试筛选中的权重并没有想象中那么高。联想的筛选逻辑更像是“笔试过线 简历匹配”双轨制如果你的简历上有大厂实习或者高质量项目经历笔试只要过及格线基本都能进面试。如果简历相对普通笔试就必须考出一个相当亮眼的分数排名靠前才可能被翻牌子。技术栈的匹配也很重要。联想不少编程岗是和服务器、Linux驱动、嵌入式相关的如果简历上有Linux内核、网络协议栈、汇编语言相关的背景笔试分数的门槛会被适当放宽。这给我们的启发是笔试的准备要和简历的完善同步推进而不是等笔试过了再优化简历。我当时一边刷题一边更新简历中的项目描述把“使用XX框架实现XX功能”这种描述改成了“在XX项目中解决了XX的XX难点采用XX方案最终提升XX效率”这样笔试前就已经做好了面试的双重准备。4.3 进面后的“笔试遗产”你的代码会被面试官翻出来分享一个很多人不知道的小秘密你在笔试里写的代码面试官是真的会调出来看的。我当时面试的时候面试官就问过我“你笔试第三题用二分BFS做的为什么不用并查集”这个问题的潜台词是他知道这道题有更优解法他想了解你当时的思考过程以及在面对次优方案时你的自知之明。所以笔试结束不等于万事大吉你在笔试中暴露出来的问题很可能成为面试时的“素材”。建议在笔试结束后把每道题都重新做一遍最优解法并想清楚以下三个问题我当时为什么没想到最优解法最优解法相比我的解法好在哪里如果下次遇到类似题目我第一反应应该往哪个方向想面试官问类似问题的时候你如果能从“当时的思考过程”讲到“后来的优化方案”会显得特别真诚和有成长性这一点的加分效果有时候比八股文背得溜还要明显。5. 联想编程岗的备考路线建议从赛码网模拟到经典题型的实战优先级5.1 备考路线图先刷高频题再扩展知识面最后做整体模拟接下来的建议都是基于我踩过的坑和一些进面同学的交流反馈总结的是专门针对联想编程岗笔试的备考路线时间以2到3周为例你们可以根据自己实际情况调整第一周打基础每天在力扣上做2道简单题和2道中等题优先做数组、字符串、哈希表、双指针这四类高频考点。把数据结构的基础再过一遍链表、栈、队列、二叉树至少要能手写层序遍历和递归遍历。动态规划专项从爬楼梯开始到最大子序和、最长递增子序列、背包问题每个经典题型至少刷3道同类型题。第二周攻难点图论基础理解邻接表和邻接矩阵的适用场景掌握BFS和DFS的模板写法学一下Dijkstra和Kruskal。二分答案专项做几道“最小化最大值”的题比如“分割数组的最大值”“小张刷题计划”这类。数学思维专项掌握组合数、快速幂、最大公约数的常见写法有时候第三道题会用到数论的思想。第三周模拟考定节奏每天在赛码网找一套模拟题严格按照100分钟的时长来练习。模拟时一定要开启手机摄像头并放在侧面模拟双机位场景因为有的同学初次在监控下做题会觉得浑身不自在手速也会受影响。模拟的重点是练习时间分配和心态管理做题正确率反而不是主要目标。5.2 赛码网模拟题怎么做才有用做题和复盘至少一比二赛码网和牛客都有很多公司的真题和模拟题可以刷这里我建议你们多刷赛码网的模拟题因为它的IDE风格和交卷机制更接近真实考场。但有一点要拎清楚刷题的数量不重要复盘的质量才是关键。我当时的节奏是一天做一场模拟考3道题加10道选择题然后至少花两倍的时间去复盘。复盘不是看看别人的题解而是先把每道题重新写一遍验证自己是否真的懂了。再尝试用不同的方法解同一道题比如用dp解完再用贪心试试。最后把最优解思路总结成一个模板式的口诀方便以后快速定位题型。比如我给自己总结了几个口诀“数组去重靠哈希特殊排序用堆”“子树问题递归拆子树加一可用前缀”“最值可达用二分先答后验是套路”“动规找不到状态加一维试试分段”。这些口诀不一定绝对正确但能在考试时帮助快速建立思路方向。5.3 经典题型刷题清单与优先级背靠LeetCode高频题就行下面这个清单是我整理提炼出来的涵盖真题里的常见考点优先级从高到低排列。你们直接对着这个清单刷就行不用再自己去找题优先级一必须熟练掌握大概率会考数组题两数之和、三数之和、合并区间、最大子序和。字符串题最长无重复字符子串、字符串相加、字符统计排序。哈希应用题两数之和变体、多数元素、字母异位词分组。链表题反转链表、合并两个有序链表、环形链表检测。优先级二重点准备大概率有一道中等题动态规划爬楼梯、打家劫舍、最长递增子序列、零钱兑换、编辑距离。二叉树二叉树的中序/层序遍历、二叉树的最大深度、最近公共祖先。二分查找搜索旋转排序数组、寻找两个有序数组的中位数。优先级三有备无患往往是压轴题图论岛屿数量BFS、拓扑排序、Kruskal最小生成树、Dijkstra最短路。并查集连通分量个数、冗余连接。组合数/数论组合数计算、快速幂、最大公约数。5.4 一个小提醒开发环境不要临时换用你最顺手的语言最后再强调一个容易忽略的问题选编程语言时一定要选你平时最熟悉的那一门而不是招聘岗位要求的语言。比如C岗位如果面试要求用C答题那没办法只能硬着头皮写C但如果题目没有限定语言而你的Java更熟就别冒险用C去写。笔试题目的核心是考察算法思维不是考察你多会一门语言。我当时虽然投的岗位更偏C方向但我毫不犹豫用了Python因为我知道关键时候Python的快速原型能力能帮我稳妥地解决更多题目。事实上赛码网的语言选择是不会影响面试官对你的评价的他们更关心你能不能拿到分。以上就是我从接到笔试通知、到参加考试、再到事后复盘整个过程的完整记录和总结。这些经验虽然来自2023年联想秋招但很多东西放到其他大厂同样成立——赛码网平台的操作习惯、选择题的复习范围、编程题的梯度策略、时间分配的博弈思维都是通用的。最后分享一句我当时写在复盘笔记里的话笔试考的不只是你会不会写代码而是你在限时、限环境、压力重重的情况下还能不能像一名成熟的程序员那样去思考、去取舍、去交付。希望这篇文章能帮你在那100分钟里少一些慌张多一些笃定。