华为HUAWEI面试题 · 编码实现
华为HUAWEI相关面试题,按最终去重题目聚合。
共 1589 道真题 · 当前筛选命中 176 道 · 更新 2026-08-05
筛选题目已选:编码实现
考察点
技术栈
第 21 题有一堆石头,重量已知,要求将石头分成两堆,使得两堆石头总重量的差值最小,请给出算法和实现。 考察动态规划解决子集和问题的建模与编码能力第 22 题请用编程实现一个算法题:初始可以用两层循环暴力求解,在面试官提示后,请优化为二分法求解并说明复杂度变化。 考察暴力解法到二分优化的思维过程和编码能力第 23 题手写题目:给定一个非负整数数组,初始位于第一个位置,每个元素代表在该位置可以跳跃的最大长度,判断能否到达最后一个位置。 考察贪心算法在跳跃游戏问题中的应用与边界处理第 24 题请实现并讲解 LeetCode 128:最长连续序列的解法 考察哈希集合应用、去重与边界处理第 25 题给定一个包含红色、白色和蓝色三种颜色的数组,请编写代码将其原地排序,使得相同颜色的元素相邻,并按照红、白、蓝顺序排列。 考察数组原地排序与双指针算法的实现能力第 26 题请写出一种公钥加密算法,并简要说明其加密与解密的基本原理。 考察对公钥加密算法的掌握与原理理解第 27 题现有一张员工表 employee,包含部门编号 departmentId、员工姓名 employee、工资 salary 字段;另有一张部门表 department,包含部门编号 id 和部门名称 name 字段。请编写 SQL 查询,找出每个部门中薪资最高的员工,并返回部门名称、员工姓名和薪资。 考察窗口函数或关联子查询在分组取最值场景中的 SQL 编写能力第 28 题请实现求解数组中所有和为0的三元组的三数之和算法,要求不包含重复三元组,并分析时间复杂度和空间复杂度。 考察双指针、排序和去重逻辑的基本功与复杂度分析能力第 29 题NIO中缓冲区满的情况如何处理? 考察缓冲区分片、读写模式和扩容处理能力第 30 题请实现一个 LRU 缓存,并说明其核心数据结构和主要操作的时间复杂度。 考察 LRU 缓存的数据结构设计、时间复杂度和边界处理第 31 题请现场实现一个同步FIFO的Verilog代码。 考察数字逻辑设计中的FIFO结构、读写指针管理及满空判断逻辑第 32 题给定一个整数列表,如何找出最长递增子序列(子序列不要求连续)的长度?请实现代码并分析复杂度。 考察动态规划或贪心+二分求最长递增子序列的能力第 33 题手撕LeetCode 2974《最小数字游戏》,请实现其解法。 考察算法理解、编码实现与复杂度分析能力第 34 题求无序数组中第 k 大的元素,请给出多种解法并分析复杂度,说明各自的适用场景。 考察排序、堆、快速选择等算法的实现与复杂度分析能力第 35 题请用单调栈实现“每日温度”算法:给定一个整数数组 temperatures 表示每天的气温,返回数组 answer,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,则用 0 来代替。请写出代码并解释思路。 考察单调栈应用、逆序遍历与索引差计算能力第 36 题请实现一个字符串解码问题:给定一个编码字符串如 "3[a]2[bc]",要求解码为 "aaabcbc"。请描述你的解法思路并完成实现。 考察栈或递归处理嵌套结构的能力及编码实现第 37 题请手写实现单链表的反转,并分析其时间和空间复杂度。 考察链表操作、指针变换与复杂度分析能力第 38 题可以现场写个单例模式的代码嘛? 考察对单例模式多种实现及其线程安全性的理解第 39 题请编写一个 SQL 查询,找出拥有最小启动时间(starttime)的服务器(ssid),返回该服务器的 ID 及其启动时间。 考察 SQL 分组或排序查询的编写能力,特别是取每组最早时间记录的方法第 40 题请实现一个函数判断给定字符串是否为回文串。 考察字符串处理与边界条件处理能力