版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2026年互联网公司校招笔试题解一、编程基础(3题,每题10分,共30分)题目1:请编写一个函数,实现将一个字符串中的所有大写字母转换为小写字母,所有小写字母转换为大写字母。输入字符串可能包含数字、符号等非字母字符,这些字符保持不变。示例输入:`"Hello,World!123"`示例输出:`"hELLO,wORLD!123"`要求:1.不能使用Python自带的`swapcase()`方法;2.输入字符串长度不超过1000。题目2:给定一个无重复元素的整数数组`nums`和一个目标值`target`,请找出数组中和为目标值的三元组个数,并返回该个数。示例输入:`nums=[1,2,3,4,5]`,`target=9`示例输出:`3`(三元组为`(1,3,5)`,`(2,3,4)`,`(2,4,3)`,但`(2,3,4)`和`(2,4,3)`视为不同组合)要求:1.不能使用嵌套循环(如暴力解法);2.时间复杂度优于O(n²)。题目3:请实现一个LRU(LeastRecentlyUsed)缓存机制,支持以下操作:-`get(key)`:获取键`key`对应的值,若存在则返回值并更新最近使用时间,若不存在返回-1;-`put(key,value)`:插入或更新键值对,若缓存已满则删除最久未使用的元素。示例输入:-`put(1,1)`-`put(2,2)`-`get(1)`→返回`1`-`put(3,3)`(缓存满,删除键`2`)-`get(2)`→返回-1示例输出:`1,-1`要求:1.使用链表和哈希表结合实现;2.`get`和`put`操作的时间复杂度为O(1)。二、算法设计(2题,每题15分,共30分)题目4:假设你正在设计一个短链接系统(如`tinyurl`),需要将长URL转换为固定长度的短URL,并支持反向解析。请简述设计思路,并回答以下问题:1.如何保证短URL的唯一性?2.如何解决长URL输入较短短URL输出的冲突问题?3.若短URL被截断(如用户复制时丢失部分字符),如何避免解析错误?题目5:设计一个算法,判断一个二叉树是否为平衡二叉树(即任意节点的左右子树高度差不超过1)。示例输入:3/\920/\157示例输出:`True`要求:1.提供递归和非递归两种解法;2.分析时间复杂度。三、系统设计(1题,20分)题目6:设计一个高并发的短链接生成与解析服务,要求:1.支持每秒百万级别的请求;2.短链接长度不超过6位;3.解析过程需考虑分布式部署场景下的缓存一致性问题;4.简述技术选型(如数据库、缓存、负载均衡)及优化方案。四、数据库与SQL(2题,每题10分,共20分)题目7:假设表`Orders`存储订单信息,字段包括`order_id`(订单ID)、`user_id`(用户ID)、`amount`(金额)、`order_time`(订单时间)。请编写SQL查询:1.查询每个用户的总订单金额;2.查询金额最高的3个订单及其对应的用户ID。题目8:解释数据库索引的作用,并说明在以下场景中应如何选择索引:1.频繁用于`JOIN`操作的表;2.经常需要排序或分组的查询。五、网络与分布式(2题,每题10分,共20分)题目9:HTTP和HTTPS协议的主要区别是什么?HTTPS为何需要引入证书机制?题目10:简述分布式系统中CAP定理的含义,并举例说明在哪些场景下优先选择AP架构或CP架构。六、操作系统与Linux(2题,每题10分,共20分)题目11:解释进程与线程的区别,并说明在哪些场景下应优先使用线程而非进程。题目12:在Linux系统中,如何查看当前用户的进程列表?若要终止某个进程(如PID为1234),应使用什么命令?七、综合应用(1题,20分)题目13:假设你被分配到负责一个电商平台的商品推荐系统,请简述以下问题:1.推荐算法的核心指标有哪些?2.如何处理冷启动问题(即新商品或新用户缺乏数据)?3.若系统存在数据倾斜问题(部分商品流量过高),如何优化?答案与解析一、编程基础题目1:代码示例(Python):pythondefswap_case(s:str)->str:result=[]forcharins:if'a'<=char<='z':result.append(char.upper())elif'A'<=char<='Z':result.append(char.lower())else:result.append(char)return''.join(result)解析:-遍历字符串,判断每个字符是否为字母;-大写字母转换为小写(`char.lower()`),小写字母转换为大写(`char.upper()`);-非字母字符保持不变;-时间复杂度O(n),空间复杂度O(n)。题目2:代码示例(Python):pythondefthree_sum(nums,target):nums.sort()n=len(nums)count=0foriinrange(n-2):left,right=i+1,n-1whileleft<right:total=nums[i]+nums[left]+nums[right]iftotal==target:count+=1left+=1right-=1eliftotal<target:left+=1else:right-=1returncount解析:-先排序,固定一个数`nums[i]`,使用双指针`left`和`right`寻找另两个数;-时间复杂度O(n²),但优于暴力解法;-避免重复组合的方法:当`nums[left]==nums[left-1]`时跳过,防止重复计算。题目3:代码示例(Python):pythonclassLRUCache:def__init__(self,capacity:int):self.capacity=capacityself.cache={}self.head,self.tail=Node(0,0),Node(0,0)self.head.next=self.tailself.tail.prev=self.headclassNode:def__init__(self,key,value):self.key=keyself.value=valueself.prev,self.next=None,Nonedefget(self,key:int)->int:ifkeynotinself.cache:return-1node=self.cache[key]self._move_to_head(node)returnnode.valuedefput(self,key:int,value:int)->None:ifkeyinself.cache:node=self.cache[key]node.value=valueself._move_to_head(node)else:node=self.Node(key,value)self.cache[key]=nodeself._add_node(node)iflen(self.cache)>self.capacity:tail=self._pop_tail()delself.cache[tail.key]def_move_to_head(self,node):self._remove_node(node)self._add_node(node)def_add_node(self,node):node.prev=self.headnode.next=self.head.nextself.head.next.prev=nodeself.head.next=nodedef_remove_node(self,node):prev_node=node.prevnext_node=node.nextprev_node.next=next_nodenext_node.prev=prev_nodedef_pop_tail(self):res=self.tail.prevself._remove_node(res)returnres解析:-使用双向链表维护最近使用顺序,哈希表实现O(1)查找;-`get`操作将节点移动到头部(表示最近使用);-`put`操作时若缓存已满,删除链表尾部节点(最久未使用)。二、算法设计题目4:设计思路:1.唯一性保证:使用哈希函数(如SHA-256)将长URL映射为固定长度的短URL,结合随机前缀或自增ID避免冲突;2.冲突解决:若哈希值重复,可尝试添加随机数重新哈希,或使用“基62编码”(将数字转为`a-z`、`A-Z`、`0-9`组合);3.解析错误处理:在短URL后添加校验位(如CRC32),解析时验证校验位是否正确。题目5:递归解法:pythondefis_balanced(root):defcheck(node):ifnotnode:return0left_height=check(node.left)right_height=check(node.right)ifleft_height==-1orright_height==-1orabs(left_height-right_height)>1:return-1returnmax(left_height,right_height)+1returncheck(root)!=-1非递归解法(基于后序遍历):pythondefis_balanced(root):stack=[(root,False)]last_visited=Nonewhilestack:node,visited=stack.pop()ifnotnode:continueifvisited:left_height=last_visited[1]right_height=last_visited[2]ifabs(left_height-right_height)>1:returnFalselast_visited=Noneelse:stack.append((node,True))stack.append((node.right,False))stack.append((node.left,False))last_visited=(node.left,node.right)returnTrue解析:-递归解法通过计算左右子树高度差判断平衡;-非递归解法使用后序遍历(左-右-根),避免递归栈溢出;-时间复杂度均为O(n),空间复杂度递归为O(n),非递归为O(h)。三、系统设计题目6:技术选型:1.数据库:使用Redis存储短链接映射关系(键为短URL,值为长URL),支持高并发读写;2.缓存一致性:分布式场景下使用本地缓存+定时更新+缓存失效策略(如TTL);3.负载均衡:使用Nginx分摊请求,后端部署多副本服务;4.优化方案:-使用雪崩编码(如`hash(url)%62`生成短链接);-异步化生成与解析(消息队列如Kafka);-热点数据预加载。四、数据库与SQL题目7:sql--1.查询每个用户的总订单金额SELECTuser_id,SUM(amount)AStotal_amountFROMOrdersGROUPBYuser_id;--2.查询金额最高的3个订单及其用户IDSELECTorder_id,user_id,amountFROMOrdersORDERBYamountDESCLIMIT3;解析:-`GROUPBY`用于聚合每个用户的订单金额;-`ORDERBY`和`LIMIT`用于筛选最高金额订单。题目8:索引作用:-加速查询速度(避免全表扫描);-保证数据唯一性(主键索引);-支持排序和分组。索引选择场景:1.`JOIN`操作:在`ON`条件字段(如`user_id`)创建索引;2.排序/分组:在`ORDERBY`或`GROUPBY`字段创建索引。五、网络与分布式题目9:HTTPvsHTTPS区别:-HTTP:明文传输,易被窃取;HTTPS:通过TLS加密传输,安全性更高;HTTPS引入证书机制原因:-确认服务器身份(防止中间人攻击);-使用非对称加密交换对称密钥。题目10:CAP定理含义:-一致性(Consistency)、可用性(Availability)、分区容错性(PartitionTolerance)只能同时满足两项;架构选择:-AP架构:优先可用性+分区容错性(如Cassandra);-CP架构:优先一致性+分区容错性(如Paxos)。六、操作系统与Linux题目11:进程vs线程区别:-进程:独立地址空间,资源分配单位;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026四川凉山州布拖县总工会招聘工会社会工作者1名笔试备考题库及答案详解
- 2026江苏连云港长寿康复医院招聘5人笔试模拟试题及答案详解
- 2026年鹤壁浚县消防救援大队招聘专职消防员10名笔试备考题库及答案详解
- 2026年福建省泉州公费师范生专项招聘编内教师211人笔试模拟试题及答案详解
- 2026中化学西南工程科技有限公司招聘14人笔试参考题库及答案详解
- 2026江铜香港公司第二批校园招聘6人笔试备考试题及答案详解
- 信银理财有限责任公司2027届校园招聘暑期实习招聘笔试备考试题及答案详解
- 东北证券2027届暑期实习暨校园招聘笔试备考试题及答案详解
- 2026重庆市万州区第一人民医院招聘笔试备考试题及答案详解
- 2026湖南益阳市赫山区发展集团有限公司招聘补充笔试参考题库及答案详解
- 中建成本管理与经济活动分析
- 全国赛课一等奖人教版美术四年级下册《设计文化衫》课件
- GB/T 4706.47-2024家用和类似用途电器的安全第47部分:动物繁殖和饲养用电加热器的特殊要求
- ISO28000:2022供应链安全管理体系
- 人教版高中物理课后习题参考答案汇编
- 填空题-江苏省南通市10年(2013-2022)中考物理真题按题型分类(解析版)
- 影视文学总课件
- 化粪池清理管理制度
- 压缩机巡检记录表(模板)
- 2023海洋观测数据格式
- 平面构成课程说课公开课一等奖市优质课赛课获奖课件
评论
0/150
提交评论