版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2026年华为软件开发面试题一、编程题(共3题,每题15分,共45分)1.题目:实现一个函数,输入一个正整数n,返回一个长度为n的数组,数组元素为斐波那契数列的第1到第n项。斐波那契数列的定义为:F(1)=1,F(2)=1,F(n)=F(n-1)+F(n-2)(n>2)。示例:输入:n=5输出:[1,1,2,3,5]2.题目:编写一个函数,判断一个字符串是否是回文串。字符串中只包含字母和数字,不区分大小写。示例:输入:"Aman,aplan,acanal:Panama"输出:true输入:"raceacar"输出:false3.题目:给定一个二叉树,返回其最大深度。二叉树的定义如下:pythonclassTreeNode:def__init__(self,val=0,left=None,right=None):self.val=valself.left=leftself.right=right示例:输入:[3,9,20,null,null,15,7]输出:3二、算法题(共4题,每题10分,共40分)1.题目:给定一个非空整数数组,返回所有和为target的三个数的组合。示例:输入:nums=[2,7,11,15],target=9输出:[[2,7]]2.题目:实现一个LRU(最近最少使用)缓存,支持get和put操作。缓存容量为capacity。示例:输入:capacity=2输入操作:put(1,1),put(2,2),get(1),put(3,3),get(2)输出:[1,-1]3.题目:给定一个字符串,找到其中不重复的最长子串的长度。示例:输入:"abcabcbb"输出:34.题目:实现一个二分查找算法,在有序数组中查找目标值target,如果存在返回索引,否则返回-1。示例:输入:nums=[-1,0,3,5,9,12],target=9输出:4三、系统设计题(共2题,每题20分,共40分)1.题目:设计一个简单的微博系统,需要支持以下功能:-用户注册和登录-发布微博(限制长度,如140字)-获取用户关注者的微博列表-支持关注和取消关注用户要求:-说明系统架构(至少包括前端、后端、数据库)-描述核心模块的功能和交互-考虑高并发和可扩展性2.题目:设计一个短链接生成系统,要求:-输入长链接,输出短链接(如6位随机字母+数字组合)-支持将短链接映射回长链接-高并发场景下仍能快速响应要求:-说明数据结构设计(如哈希表、数据库)-描述生成短链接的算法-考虑系统的容错性和安全性四、数据库题(共2题,每题15分,共30分)1.题目:写出SQL查询,找出公司中工资高于平均工资的员工姓名和工资。假设表名为employees,字段有name和salary。2.题目:给定以下表结构:sqlCREATETABLEorders(idINTPRIMARYKEY,customer_idINT,order_dateDATE,total_amountDECIMAL(10,2));写出SQL查询,统计每个客户在过去6个月内的总消费金额,结果按消费金额降序排列。五、基础知识题(共5题,每题6分,共30分)1.题目:解释什么是线程池,以及使用线程池的优点。2.题目:TCP和UDP协议的主要区别是什么?3.题目:解释HTTP状态码301和404的区别。4.题目:什么是RESTfulAPI?它需要满足哪些原则?5.题目:解释什么是跨域资源共享(CORS),以及如何解决跨域问题。答案与解析一、编程题1.答案:pythondeffibonacci(n):ifn==1orn==2:return[1]fib=[1,1]foriinrange(2,n):fib.append(fib[-1]+fib[-2])returnfib解析:-初始化前两项为1-从第三项开始,每一项等于前两项之和-时间复杂度O(n),空间复杂度O(n)2.答案:pythondefis_palindrome(s):s=''.join(c.lower()forcinsifc.isalnum())returns==s[::-1]解析:-去除非字母数字字符并转换为小写-判断字符串是否对称(正序和倒序相同)-时间复杂度O(n),空间复杂度O(n)3.答案:pythondefmax_depth(root):ifnotroot:return0return1+max(max_depth(root.left),max_depth(root.right))解析:-递归计算左右子树的最大深度-根节点深度为1,整体深度为左右子树最大深度加1-时间复杂度O(n),空间复杂度O(n)二、算法题1.答案:pythondefthree_sum(nums,target):nums.sort()res=[]foriinrange(len(nums)-2):ifi>0andnums[i]==nums[i-1]:continueleft,right=i+1,len(nums)-1whileleft<right:total=nums[i]+nums[left]+nums[right]iftotal==target:res.append([nums[i],nums[left],nums[right]])whileleft<rightandnums[left]==nums[left+1]:left+=1whileleft<rightandnums[right]==nums[right-1]:right-=1left+=1right-=1eliftotal<target:left+=1else:right-=1returnres解析:-排序后双指针法-时间复杂度O(n^2),空间复杂度O(1)2.答案:pythonclassLRUCache:def__init__(self,capacity):self.capacity=capacityself.cache={}self.order=[]defget(self,key):ifkeyinself.cache:self.order.remove(key)self.order.append(key)returnself.cache[key]return-1defput(self,key,value):ifkeyinself.cache:self.order.remove(key)eliflen(self.cache)>=self.capacity:delself.cache[self.order.pop(0)]self.cache[key]=valueself.order.append(key)解析:-使用哈希表存储键值对,有序列表维护使用顺序-get时将键移到末尾,put时先删除最久未使用键3.答案:pythondeflength_of_longest_substring(s):char_set=set()left=0max_len=0forrightinrange(len(s)):whiles[right]inchar_set:char_set.remove(s[left])left+=1char_set.add(s[right])max_len=max(max_len,right-left+1)returnmax_len解析:-滑动窗口法-时间复杂度O(n),空间复杂度O(min(m,n))4.答案:pythondefbinary_search(nums,target):left,right=0,len(nums)-1whileleft<=right:mid=(left+right)//2ifnums[mid]==target:returnmidelifnums[mid]<target:left=mid+1else:right=mid-1return-1解析:-递归或迭代二分查找-时间复杂度O(logn),空间复杂度O(1)三、系统设计题1.微博系统设计:架构:-前端:React/Vue,负责用户界面和交互-后端:SpringBoot/Django,处理业务逻辑和API接口-数据库:MySQL/PostgreSQL,存储用户信息、微博数据、关系数据-缓存:Redis,缓存热点数据(如用户关注者列表)核心模块:-用户模块:注册、登录(JWT认证)、个人信息管理-微博模块:发布、获取、点赞、评论-关注模块:关注/取消关注、获取关注者列表高并发处理:-负载均衡(Nginx)-数据库读写分离-异步处理(消息队列)2.短链接系统设计:数据结构:-哈希表:短链接到长链接的映射-数据库:存储原始长链接和短链接,支持高并发写入和查询短链接生成:-基62编码(a-z、A-Z、0-9)-哈希算法(如SHA256)+唯一ID生成容错性:-原始长链接变更时更新映射关系-分布式部署,支持故障转移四、数据库题1.答案:sqlSELECTname,salaryFROMemployeesWHEREsalary>(SELECTAVG(salary)FROMemployees);2.答案:sqlSELECTcustomer_id,SUM(total_amount)AStotal_spentFROMordersWHEREorder_date>=DATE_SUB(CURDATE(),INTERVAL6MONTH)GROUPBYcustomer_idORDERBYtotal_spentDESC;五、基础知识题1.线程池:-管理一组线程,避免频繁创建销毁线程-优点:提高性能、减少资源消耗、简化
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广东深圳大学师范学院附属中学急聘初中语文教师1人(公共基础知识)测试题附答案
- 2026年交管12123驾照学法减分题库含答案【研优卷】
- 2026年书记员考试题库附完整答案(有一套)
- 2026年长沙环境保护职业技术学院单招综合素质考试题库附答案
- 灌云县公务员考试试题及答案
- 2026年时事政治测试题库含答案【基础题】
- 2026上海联通校园招聘(公共基础知识)测试题附答案
- 2026年石家庄财经职业学院单招(计算机)考试参考题库附答案
- 2026年法律逻辑学考试真题含答案
- 2025年广西建设职业技术学院单招(计算机)考试参考题库附答案
- 医疗人员职业素养提升策略分享
- 生物安全培训班课件
- 浙江省温州市瑞安市2024-2025学年四年级上册期末考试数学试卷(解析版)
- 洗衣液宣传课件
- 儿童急性呼吸道感染病原学诊断与临床管理专家共识2026
- 缺铁性贫血并发症的预防与护理
- 2026年度安全生产工作计划参考模板
- 在线网课学习课堂《人工智能(北理 )》单元测试考核答案
- 土地承包合同(2篇)
- GB/T 14689-2008技术制图图纸幅面和格式
- 企业职工基本商务礼仪培训
评论
0/150
提交评论