帆软软件面试题 · 编码实现

帆软软件相关面试题,按最终去重题目聚合。

663 道真题 · 当前筛选命中 57 · 更新 2026-08-05

筛选题目已选:编码实现
第 1 题给定一个整数数组,如何找出其中只出现一次的数字?数组中其他数字都出现两次。如果只要求解决单数版本,如何用最低时间复杂度与额外空间实现?若要求找出两个只出现一次的数字,又该如何扩展? 考察位运算异或应用、时间空间复杂度分析与问题变体扩展能力编码实现问题拆解技术原理第 2 题如何在不使用注解和现成定时任务框架的情况下,实现一个定时任务? 考察底层定时任务实现原理、并发与资源管理能力编码实现风险判断技术原理Java第 3 题请实现一个LFU(最不经常使用)缓存淘汰算法。 考察LFU缓存的设计与实现,包括数据结构选择、复杂度优化与边界处理编码实现问题拆解技术原理第 4 题在C语言中,声明一个字符串变量(如 char* 指向字符串常量 "aaaaaaaaaa")时,该字符串占用的内存大小是多少?请说明计算方式。 考察对字符串存储方式(栈/堆/常量区)及字节对齐的理解编码实现技术原理C第 5 题如何判断一个整数是否为回文数?要求不使用现成的字符串反转等封装库,请描述算法细节。 考察数字处理、字符串转换与回文判断的基本算法实现编码实现技术原理第 6 题请描述如何在海量整数数组中高效找出出现次数超过总数一半的元素(众数),并说明复杂度。 考察算法理解、问题拆解与编码实现能力编码实现问题拆解技术原理第 7 题给你一个1-5的随机数,如何拓展到1-7? 考察拒绝采样、等概率分布构造与边界处理编码实现问题拆解技术原理第 8 题请手写实现一个符合 Promise/A+ 规范的 Promise.all 方法,并说明其关键行为。 考察对 Promise 并发控制、异步实现和边界条件的理解编码实现技术原理第 9 题给定一个由非负整数组成的数组,每个元素表示从该位置最多能向前跳的步数,从第一个元素出发,判断是否能到达数组的最后一个位置。 考察贪心或动态规划解决跳跃游戏的算法设计与边界处理编码实现问题拆解技术原理第 10 题给定一个由不重复数字组成的整数(不含0),如何快速找到所有排列中比当前数大的最小数? 考察算法思维、边界处理与字典序排列问题的解法编码实现问题拆解第 11 题判断一个整数是否为回文数时,如果采用先转字符串再遍历的方式,时间复杂度约为3/2n,如何优化到更优? 考察对原算法瓶颈的识别与数字反转等优化方案编码实现技术原理方案权衡第 12 题如何解析一个四则运算表达式,要实现一个计算器函数会怎么做? 考察表达式解析与计算的算法实现能力和边界处理编码实现问题拆解技术原理第 13 题请描述如何获取二叉树的右视图,并说明其实现思路。 考察二叉树层序遍历或深度优先遍历的应用,以及边界条件处理编码实现问题拆解技术原理第 14 题给定一个整数数组,请找出和最大的连续子数组,并返回其最大和。 考察前缀和与哈希表在子数组和问题中的应用编码实现问题拆解技术原理第 15 题请实现一个将数组转为树结构的函数。 考察数据结构的理解和编码实现能力编码实现问题拆解第 16 题在 Java 中,如何不使用临时变量来交换两个 int 类型的变量? 考察算术或位运算技巧及对数据溢出的理解编码实现技术原理Java第 17 题请口述爬楼梯问题的解题思路。 考察动态规划基础与思路表达能力编码实现问题拆解技术原理第 18 题三个线程 A、B、C,要求线程 A 和 B 交替执行(例如打印 1 到 5 各两遍,输出顺序为 1 1 2 2 3 3 4 4 5 5),待 A、B 全部结束后线程 C 再执行。请给出实现方案并说明线程同步机制。 考察多线程协同、交替执行与后续依赖的实现方式及同步原语选择编码实现问题拆解技术原理Java第 19 题请介绍 CompletableFuture 的核心概念、典型用法以及使用时的注意事项。 考察对 CompletableFuture 异步编程模型的理解与实际应用能力编码实现技术原理Java第 20 题请设计一个用户订单系统的数据库表结构,并写出相应的SQL建表语句。 考察数据库表设计能力与SQL编写规范编码实现问题拆解技术原理SQL