vivo面试题 · 编码实现
vivo相关面试题,按最终去重题目聚合。
共 824 道真题 · 当前筛选命中 30 道 · 更新 2026-08-05
筛选题目已选:编码实现
考察点
技术栈
第 1 题请实现最大递增子序列问题,要求使用动态规划方法。 考察动态规划思想与算法实现能力第 2 题请实现一个函数,输入一个字符串,反复删除所有相邻且相同的字符对,直到不能再删除,返回最终字符串。 考察字符串处理、栈或递归思路及边界处理第 3 题Redis的ZSet底层怎么实现的,除了跳表还有什么? 考察ZSet底层数据结构选择、编码转换及跳表设计第 4 题如何设计一个数据结构,使得能够以O(1)时间复杂度查询任意子矩阵的累加和?请说明思路和实现要点。 考察二维前缀和算法的设计与实现能力第 5 题两个数组a=[1,9,7,3]和b=[1,7,3],已知a仅比b多一个数字,求多出的数字是什么。 考察数组元素差异查找的基本算法实现第 6 题C语言函数中声明的非堆分配的数组(如局部数组)如何安全返回给调用方? 考察对栈上生命周期与指针悬垂的理解第 7 题请实现一个线程安全的单例模式,并说明该模式的潜在弊端。 考察并发环境下的单例实现正确性及对反模式的理解第 8 题final、finally、finalize关键字的区别 考察Java基础语法与内存管理概念的区别与使用场景第 9 题手撕算法题:请实现函数,将字符串中的每个空格替换为"%20"。 考察字符串处理、数组操作与边界条件处理第 10 题请解释 Fetch API 的工作原理,并说明它与传统 XMLHttpRequest 的主要区别。 考察对 Fetch API 核心机制和现代网络请求实践的理解第 11 题请描述你如何解决硬币换零钱问题(给定不同面额的硬币和一个总金额,计算凑成该金额所需的最少硬币数)。 考察动态规划或贪心算法的建模能力及边界处理第 12 题C++11新特性有哪些? 考察对C++11核心新特性掌握广度与深度第 13 题C++ 中有哪几种创建对象的方式?它们有什么区别? 考察对象创建方式及内存分配差异第 14 题请实现一个函数,检测链表中是否存在环,要求在十分钟内完成。 考察链表基础算法实现能力与边界处理第 15 题给定一个先严格递增后严格递减的数组,如何用O(logn)时间复杂度找到最大值? 考察二分查找在非单调数组上的变体应用第 16 题在Java中,通过反射获取Parent p = new Child()中p的对象,并调用其test()方法,你会怎么实现? 考察反射API的使用与特性第 17 题Java中如何通过反射调用一个对象的方法?调用的方法是哪个类的方法? 考察反射API的使用及多态行为在反射下的表现第 18 题给定一个一维数组存储需要完成的任务,以及一个二维数组存储每个员工可以完成的任务,要求找出一个最优的员工-任务分配方案。如果某个员工可以完成所有任务,则优先分配序号靠前的员工。请描述你的算法思路并实现。 考察任务分配问题的建模能力、算法设计能力和编码实现能力第 19 题怎么删除/创建一张表和设定主键? 考察数据库表结构定义、主键约束与删除操作的掌握第 20 题请说明使用史密斯圆图进行集总元件阻抗匹配的步骤,并现场演示如何实现匹配。 考察史密斯圆图的熟练运用、阻抗匹配原理及实操能力