帆软软件面试题 · 编码实现
帆软软件相关面试题,按最终去重题目聚合。
共 663 道真题 · 当前筛选命中 57 道 · 更新 2026-08-05
筛选题目已选:编码实现
考察点
技术栈
第 41 题请解释双重校验锁(Double-Checked Locking)的实现流程及其作用。 考察并发单例模式中双重校验锁的原理、线程安全与风险意识第 42 题请实现一个稳定的排序算法并解释其稳定性。 考察排序算法实现能力与稳定性概念的理解第 43 题那Diff算法有用到key吗? 考察对Diff算法中key作用的理解及实际应用第 44 题请用 Java 实现一个线程安全的单例模式,并说明其优缺点。 考察对单例模式实现细节、线程安全和性能取舍的理解第 45 题给定一个非递增数组 [7,5,5,4,3,3,3,2,1],请使用二分查找返回最后一个值为 3 的索引。 考察二分查找处理重复元素时对边界条件的理解与实现能力第 46 题请实现一个函数,找出数组中所有不重复的三元组,使得三元组的元素之和等于给定目标值(如 0)。 考察三数之和的算法设计、去重逻辑与时间复杂度控制第 47 题一个整数数组中只有两个数出现一次,其余数都出现两次,如何找出这两个数? 考察位运算与异或性质在数组问题中的应用第 48 题如何实现一个带有移动能力的 string 类?要求提供移动构造函数和移动赋值运算符重载,并禁用普通的拷贝构造函数和拷贝赋值运算符。 考察 C++ 移动语义的正确实现与资源管理第 49 题如何实现单向链表中 m 到 n 区间的局部反转? 考察链表反转的基本功与边界处理能力第 50 题如何找出一个数组中出现次数超过一半的数字? 考察基础算法设计与时间空间复杂度权衡第 51 题一亿个数中查找最大的100个,如何实现? 考察海量数据下寻找Top-K的算法设计、复杂度分析和空间权衡第 52 题请手写二分查找代码,并说明如何改进以应对边界情况。 考察二分查找实现正确性及边界处理能力第 53 题请实现一个函数,统计从1到n的所有整数中,数字3出现的次数(例如n=13时,3、13中含3,共出现2次)。 考察对数字规律的理解、数位统计分析及编码实现能力第 54 题如何判断一个链表里面有没有环 考察链表环检测算法的原理与实现能力第 55 题请编写一个算法,找出给定字符串中最长不重复字符的子串长度。 考察滑动窗口和哈希表在字符串处理中的应用第 56 题给定一个有序数组,将其首尾相接成环,从环的任意位置剪开得到一个旋转后的数组,如何高效求出该数组中的最小值?若数组原本已完全有序(未旋转),能否避免二分查找的开销,给出更优方案? 考察旋转有序数组的二分查找思想及对退化情况的优化意识第 57 题请详细说明 HashMap 在并发场景下可能出现的问题,以及这些问题产生的原因。 考察对 HashMap 并发不安全机制及其原理的理解