文远知行面试题 · 编码实现
文远知行相关面试题,按最终去重题目聚合。
共 327 道真题 · 当前筛选命中 63 道 · 更新 2026-08-05
筛选题目已选:编码实现
考察点
技术栈
第 1 题实现开五次根号的算法,如何设计并保证精度? 考察数值计算方法、迭代收敛理解与边界处理第 2 题请手写一个二分查找算法,要求返回目标值在有序数组中的下标,若不存在则返回 -1。 考察二分查找的实现正确性、边界条件处理与代码调试能力第 3 题请实现一个函数,判断给定的括号字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合,左括号必须以正确的顺序闭合。 考察栈数据结构的应用与边界条件处理第 4 题请编写一条 SQL 查询,找出平均成绩不及格(低于 60 分)的学生,并按平均分从低到高排序。 考察 SQL 分组聚合、条件筛选与排序的综合运用第 5 题如何用 Go 实现一个读写锁? 考察对读写锁语义、并发安全和原子操作的理解第 6 题请解决八皇后问题:在8×8的棋盘上放置8个皇后,使它们互不攻击,输出所有解。 考察回溯算法、递归与冲突判断的编程实现能力第 7 题请仿写 STL 的 vector,重点实现 push_back 和 operator[],并说明在写这类容器时容易遗漏的关键设计点。 考察 C++ 动态数组的核心实现、模板语法与资源管理第 8 题请用代码实现一个GRU单元的前向传播过程。 考察对GRU门控机制的理解及工程实现能力第 9 题请说明如何用非递归方式实现二叉树的深度优先遍历,并比较前序、中序、后序三种顺序的迭代写法。 考察迭代遍历算法的正确性、栈的使用方式及三种顺序的差异第 10 题请描述RANSAC算法拟合平面的主要步骤。 考察RANSAC算法原理及其在平面拟合中的实现步骤第 11 题实现double类型的sqrt函数 考察数值计算、算法与边界处理能力第 12 题设计一个原地排序算法,要求不申请 O(n) 的额外空间。请说明算法思路、时间复杂度和空间复杂度。 考察排序算法的原地实现能力与复杂度分析第 13 题给定一组区间,从中选取尽量多的区间,使它们两两不重叠,输出最大可选区间数量,并说明你的思路。 考察区间调度问题的建模与贪心算法正确性第 14 题算法编程:请实现数组中最大的前 k 个数,要求分别用堆和快速排序两种方法完成并说明时间与空间复杂度。 考察堆排序与快排的算法实现能力及复杂度分析第 15 题请实现一个支持 get 和 put 操作的 LRU 缓存。要求 get 和 put 的时间复杂度均为 O(1),并在缓存容量满时淘汰最久未使用的键。请写出代码并说明你的实现思路。 考察 LRU 缓存的设计与 O(1) 操作实现能力第 16 题请说明你在项目中是否使用过 Object.defineProperty,并具体描述其用途和实现细节。 考察对 Object.defineProperty 的理解与实际应用能力第 17 题给定一棵二叉树和两个节点,请设计并实现一个算法找出这两个节点的最近公共祖先(LCA),并说明你的做法适用于哪些树类型(如普通二叉树或二叉搜索树)。 考察二叉树遍历、递归/迭代算法设计与复杂度分析第 18 题请用代码实现二叉树的层序遍历,并说明其时间复杂度。 考察二叉树层序遍历的实现思路、代码能力和复杂度分析第 19 题手写计算 double 类型 x 的平方根,注意需要处理 0 到 1 之间的小数。 考察数值计算、二分查找的边界处理和面试互动后的修正能力第 20 题什么是 Batch Normalization?请写出其计算公式,并简要说明其在训练和推理阶段的区别。 考察对 Batch Normalization 原理、公式细节及训练与推理差异的理解