飞猪面试题 · 编码实现
飞猪相关面试题,按最终去重题目聚合。
共 493 道真题 · 当前筛选命中 30 道 · 更新 2026-08-05
筛选题目已选:编码实现
考察点
技术栈
第 1 题已知学生表X(Xid)、课程表Y(Yid、Zid)、老师表Z(Zid、name)、选课表W(Xid、Yid、score),请写出SQL查询:求平均分最高的课程对应的老师名字。 考察SQL关联查询、聚合运算与排序/取极值的实现能力第 2 题请实现一个函数,输入括号对数 n,返回所有由 n 对括号组成的有效括号组合。 考察回溯算法与括号有效性判断第 3 题请解释如何实现两个对象的深度比较(deep equality)? 考察对深比较概念、递归判断与边界处理的理解第 4 题如何用数组实现一个优先队列? 考察数组数据结构与堆算法结合实现优先队列的能力第 5 题已知学生表X(Xid)、课程表Y(Yid、Zid)、老师表Z(Zid、name)、选课表W(Xid、Yid、score),请编写SQL查询所有学科平均分大于60分的学生ID。 考察SQL多表关联与聚合筛选能力第 6 题如何利用Set判断重复并确保存放自定义的Person对象时不出现重复?请说明原理 考察Set判重的底层原理以及自定义对象去重的正确实现第 7 题请说明单例模式的常见实现,并解释双重检查锁中第二次检查为何仍需加锁,以及属性为什么需要 volatile 修饰,最后说明 volatile 的底层原理。 考察并发环境下单例实现、锁语义与内存可见性理解第 8 题请手写一个线程安全的单例模式实现,并说明其原理。 考察并发编程中的单例实现与线程安全机制第 9 题算法题:一个字符串由(、)和三种字符组成,可以是(,也可以是),还可以是空字符,判断这个字符串括号是否合法 考察括号匹配算法的正确性与边界处理第 10 题多线程编程题:有三位师傅依次执行任务,A师傅做面包,B师傅打包,C师傅出餐,要求按A->B->C->A->B->C…的顺序循环执行,共生产10个面包。请实现此流程。 考察多线程顺序控制、循环同步与线程间协作第 11 题请设计并说明如何求一个无序数组中第K大的数,并分析其复杂度。 考察排序、堆、快速选择等算法及复杂度分析能力第 12 题如何使用数组实现优先队列 考察优先队列基于数组实现时的结构设计、堆性质与核心操作第 13 题链表找环的方法 考察链表环检测算法的原理与实现边界第 14 题请解释gzip压缩的工作原理、在哪些层配置,以及浏览器如何识别并解压响应。 考察对HTTP内容编码、传输压缩机制和配置位置的理解第 15 题请实现两数之和(Two Sum):给定一个整数数组和一个目标值,返回数组中两个数之和等于目标值的下标,假设每种输入只有唯一解且同一元素不能重复使用。 考察哈希表优化与基本编码实现能力第 16 题请介绍一下 React Hooks,并说明它们的核心规则和使用场景。 考察对 React Hooks 的基本认知、规则理解与实际应用能力第 17 题线程B和C需要等待线程A生成猜数结果后才能开始猜数,如何实现? 考察多线程协作中的依赖等待与同步机制第 18 题请描述 Java 线程的几种状态,并列举常用的线程创建方式。 考察对线程生命周期模型及多线程编程基础 API 的掌握第 19 题请解释深拷贝与浅拷贝的区别,并说明如何实现深拷贝。 考察对对象复制机制的理解及实现能力第 20 题请介绍快速排序的基本思路,并说明其时间复杂度与空间复杂度。 考察对快速排序核心思想、复杂度特性及边界情况的理解