神策数据面试题 · 编码实现
神策数据相关面试题,按最终去重题目聚合。
共 142 道真题 · 当前筛选命中 20 道 · 更新 2026-08-05
筛选题目已选:编码实现
考察点
技术栈
第 1 题请做两道算法题,其中一道来自 LeetCode Hot 100,另一道为普通题目。 考察候选人在算法题中的编码能力与题目理解第 2 题请手写代码:给定一个数组,构建一棵二叉树,使每个节点的值等于其左右子节点值的乘积。 考察二叉树构建与递归/迭代实现能力第 3 题请编写二叉树的后续遍历代码,并说明其时间与空间复杂度。 考察二叉树遍历的编码实现与复杂度分析第 4 题请实现二叉树的锯齿形(Z字形)层序遍历,并说明其时间与空间复杂度。 考察二叉树的层序遍历变体及对双端队列等数据结构的运用第 5 题Java里面有哪些语法糖? 考察对Java语法糖的理解与归纳能力第 6 题手撕判断两个压缩字符串是否相等(示例:3a1a5b7a 与1a1a1v) 考察字符串解压与比较的编码实现能力和边界处理第 7 题如何使Java类序列化为JSON? 考察Java对象到JSON序列化的基本方法与库使用第 8 题请讲一下 Generator 函数的工作原理和典型应用场景。 考察对 Generator 函数语法、执行机制与应用的掌握第 9 题请实现一个函数,移除 vector 中所有偶数位置(从0开始计数)的元素,并保证删除后释放多余容量。 考察容器操作、迭代器失效与容量管理的综合能力第 10 题请实现一个支持柯里化的累加器函数,使得多次调用能够累积传入的参数值。 考察函数柯里化与闭包的应用能力第 11 题请手写并解释快速排序算法,说明其时间复杂度和稳定性。 考察排序算法实现与复杂度分析能力第 12 题如何用树形DP求二叉树上的两个节点的最远距离?请说明思路并给出关键实现要点。 考察树形DP建模能力和边界处理第 13 题手写实现一个支持随机访问的集合(如设计一个数据结构,支持插入、删除和随机访问元素)。 考察数据结构设计能力,尤其是如何同时支持随机访问和高效删除第 14 题手写LRU缓存淘汰算法,可以采用哈希表加双向链表实现。 考察LRU缓存机制的理解以及链表、哈希表的综合实现能力第 15 题请说明Java中的序列化是什么,以及实现序列化的主要方式是什么? 考察对Java序列化基本概念与实现机制的理解第 16 题实现一个sleep函数 考察编程基础与异步处理能力第 17 题手写实现C++的string类 考察C++资源管理、拷贝语义和内存安全第 18 题你说说原子类底层怎么实现的? 考察对Java原子类底层并发机制的掌握程度第 19 题如何实现简单的多线程并行,不考虑复杂情况? 考察快速落地简单并行方案的基础能力第 20 题手写实现Java的单例模式 考察Java单例实现的正确性、线程安全与延迟加载意识