携程面试题 · 编码实现
携程相关面试题,按最终去重题目聚合。
共 2142 道真题 · 当前筛选命中 128 道 · 更新 2026-08-05
筛选题目已选:编码实现
考察点
技术栈
第 61 题请用代码实现接雨水问题:给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子下雨之后能接多少雨水。 考察双指针或单调栈解法及时间和空间复杂度分析第 62 题请用代理模式实现一个场景:汽车工厂生产汽车、4S店代理销售、消费者到4S店购车。要求使用简单工厂创建汽车,4S店作为静态代理持有工厂引用,并说明四个类(Car、CarFactory、FourS、Customer)各自的设计职责。 考察代理模式、简单工厂的组合运用及代码实现能力第 63 题请实现一个函数,计算一个长整型(64位整数)的二进制表示中1的个数。 考察位运算基础与高效实现能力第 64 题给定一个整数数组和一个目标值 target,找出数组中三个数,使它们的和最接近 target,并返回这三个数的和。请说明你的解题思路和时间复杂度。 考察双指针算法、排序预处理与复杂度分析第 65 题请编写一段Java代码,实现从数据库查询用户数据并处理结果集的需求。 考察Java与SQL结合的数据处理能力及编码规范第 66 题手写判断链表是否有环的代码 考察链表基础操作、双指针技巧与边界处理第 67 题SpringBoot内嵌Tomcat原理 考察对SpringBoot自动化配置和内嵌Web容器启动机制的理解第 68 题算法题:有 n 颗糖果,如果当前糖果数是素数则每天吃 ⌊n/3+1⌋ 颗,否则吃 ⌊n/2+1⌋ 颗,问能吃多少天? 考察素数判断、模拟迭代终止条件及取整边界第 69 题你是怎么保证线程执行成功的呢 考察多线程任务执行结果的获取与异常处理能力第 70 题请实现查找数组中位数的算法,并分析时间复杂度。 考察算法实现、边界处理与复杂度分析能力第 71 题请介绍 Canvas 的常用方法及其用途。 考察对 Canvas 2D API 的掌握程度与表达清晰度第 72 题二叉树的遍历方式有哪些,请分别说明前序、中序、后序遍历的访问顺序。 考察二叉树基础遍历知识及递归实现的掌握第 73 题请实现一个括号匹配算法,判断给定字符串中的括号是否合法配对。 考察栈的数据结构应用与边界处理能力第 74 题如何等待所有 goroutine 全部结束? 考察 WaitGroup 的正确用法与并发同步机制第 75 题请解释 JavaScript 中 this 的指向规则,并举例说明如何改变 this 的指向。 考察对 JavaScript this 绑定规则和改变指向方法的理解第 76 题请描述如何解决“移除K位数字使剩余数字最小”的问题,并说明你的思路。 考察对贪心算法和单调栈应用的理解第 77 题如何用 Golang 实现一个限流器? 考察并发安全限流算法的实现与取舍第 78 题关于计数器的 take 之后,如何安全地执行 put? 考察并发计数器的操作语义与原子性保障第 79 题手撕代码:使用闭包+Promise+回调实现NodeJS中readFile(path, callback)函数 考察闭包、Promise与回调综合运用及异步API设计能力第 80 题手撕合并两个有序链表 考察链表操作与归并排序基础