版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2026年程序猿面经总结:互联网大厂常见笔试题1.数学与逻辑推理(3题,每题10分,共30分)题目1:某互联网公司需要设计一个高效的缓存系统,缓存容量为`C`,每个缓存项的访问频率按时间衰减,衰减公式为`freq(t)=freq(t-1)0.9`,初始频率为`100`。假设缓存容量为`100`,请计算一个缓存项在`10`分钟后剩余的访问频率,并说明该频率对缓存替换策略的影响。题目2:给定一个数组`arr=[3,1,4,1,5,9,2,6,5,3,5]`,请找出其中连续子数组的最大和,并说明该问题的时间复杂度。题目3:某搜索引擎需要根据用户查询词的匹配度排序结果,匹配度计算公式为:`score=(词频10)+(文档长度/1000)-(时间衰减0.5)`,假设某文档的词频为`8`,长度为`1200`,发布时间为`3`天前,请计算该文档的匹配度得分。2.数据结构与算法(5题,每题12分,共60分)题目1:请实现一个`LRU`缓存结构的`get`和`put`方法,要求`O(1)`时间复杂度。假设缓存使用双向链表和哈希表实现,请简述其原理。题目2:给定一个链表,请判断其是否包含环,并说明检测方法(如快慢指针)。题目3:请实现快速排序算法,并说明其平均时间复杂度和空间复杂度。题目4:给定两个无重复元素的数组`A`和`B`,请找出它们的交集,要求时间复杂度为`O(n)`。题目5:请设计一个算法,统计一个字符串中所有子串的唯一字符数(如`"abc"`的子串`"a"`,`"b"`,`"c"`,`"ab"`,`"bc"`,`"abc"`的唯一字符分别为`1`,`1`,`1`,`2`,`2`,`3`),并说明如何优化。3.系统设计(2题,每题25分,共50分)题目1:设计一个高并发的短链接系统,要求:1.支持每天`10^9`次访问;2.链接生成短小(如`6`位随机字母数字组合);3.支持分布式部署和快速跳转。题目2:设计一个实时消息推送系统(如微信、抖音),要求:1.支持百万级用户实时接收消息;2.保证消息至少`1`次送达;3.说明核心组件和选型(如MQ、Redis)。4.编程语言基础(3题,每题10分,共30分)题目1:请解释Java中的`volatile`关键字的作用,并说明其在多线程场景下的应用场景。题目2:Python中,如何实现一个线程安全的计数器?题目3:Go语言中,`goroutine`与`thread`的区别是什么?5.数据库与分布式(3题,每题10分,共30分)题目1:请解释MySQL中的`索引`类型(如`B+树`、`哈希`)及其适用场景。题目2:如何解决分布式数据库中的`一致性问题`?题目3:请简述`Redis`的`持久化`方式(`RDB`和`AOF`)及其优缺点。答案与解析数学与逻辑推理题目1:答案:频率衰减计算:`freq(10)=1000.9^10≈34.9`。解析:低频率会导致缓存项优先被替换,因此需动态调整缓存策略(如结合LRU)。题目2:答案:最大子数组和为`15`(子数组`[4,1,5,9]`)。解析:动态规划解法,`O(n)`时间复杂度。题目3:答案:`score=(810)+(1200/1000)-(30.5)=90.3`。解析:词频和长度越高得分越高,时间衰减会降低权重。数据结构与算法题目1:答案:javaclassLRUCache{Map<Integer,Node>map;Nodehead,tail;intcapacity;classNode{intkey,value;Nodeprev,next;}publicLRUCache(intcapacity){this.capacity=capacity;map=newHashMap<>();head=newNode();tail=newNode();head.next=tail;tail.prev=head;}publicintget(intkey){Nodenode=map.get(key);if(node==null)return-1;moveToHead(node);returnnode.value;}publicvoidput(intkey,intvalue){Nodenode=map.get(key);if(node!=null){node.value=value;moveToHead(node);}else{NodenewNode=newNode();newNode.key=key;newNode.value=value;map.put(key,newNode);addToHead(newNode);if(map.size()>capacity){NodetoDel=tail.prev;removeNode(toDel);map.remove(toDel.key);}}}privatevoidaddToHead(Nodenode){node.prev=head;node.next=head.next;head.next.prev=node;head.next=node;}privatevoidremoveNode(Nodenode){node.prev.next=node.next;node.next.prev=node.prev;}privatevoidmoveToHead(Nodenode){removeNode(node);addToHead(node);}}解析:双向链表维护顺序,哈希表实现`O(1)`查找。题目2:答案:快慢指针法:javapublicbooleanhasCycle(ListNodehead){if(head==null)returnfalse;ListNodeslow=head,fast=head.next;while(fast!=null&&fast.next!=null){if(slow==fast)returntrue;slow=slow.next;fast=fast.next.next;}returnfalse;}解析:快指针两步,慢指针一步,相遇则存在环。题目3:答案:pythondefquicksort(arr):iflen(arr)<=1:returnarrpivot=arr[len(arr)//2]left=[xforxinarrifx<pivot]middle=[xforxinarrifx==pivot]right=[xforxinarrifx>pivot]returnquicksort(left)+middle+quicksort(right)解析:平均`O(nlogn)`,最坏`O(n^2)`,空间复杂度`O(logn)`。题目4:答案:javapublicList<Integer>intersection(int[]A,int[]B){Set<Integer>set=newHashSet(Arrays.asList(A));List<Integer>res=newArrayList<>();for(intb:B)if(set.contains(b)){res.add(b);set.remove(b);}returnres;}解析:哈希集合去重,`O(n)`时间。题目5:答案:前缀和优化:pythondefuniqueCount(s):count=0seen=set()foriinrange(len(s)):ifs[i]notinseen:count+=1seen.add(s[i])returncount解析:遍历字符串统计唯一字符,可优化为并行处理。系统设计题目1:答案:1.分布式存储:使用`CosmosDB`或`ShardingSphere`分片;2.短链接生成:`base62`编码(`a-z`,`A-Z`,`0-9`);3.高可用:`Nginx`负载均衡,`Redis`缓存跳转。题目2:答案:1.消息队列:`Kafka`或`RabbitMQ`解耦;2.分布式订阅:`Redis`发布订阅;3.可靠性保证:消息补偿机制。编程语言基础题目1:答案:`volatile`保证内存可见性,禁止指令重排。题目2:答案:pythonfromthreadingimportLocklock=Lock()count=0defincrement():lock.acquire()globalcountcoun
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026上半年安徽事业单位联考濉溪县招聘100人备考题库附参考答案详解(考试直接用)
- 2026吉林省吉高路业发展有限公司劳务派遣项目招聘1人备考题库及一套答案详解
- 2026一季度重庆市属事业单位考核招聘310备考题库带答案详解(考试直接用)
- 2026中国邮政集团有限公司江门市分公司招聘备考题库社会招聘人才储备备考题库及答案详解(典优)
- 2026云南临沧永德县盛景贸易有限责任公司配送人员招聘20人备考题库及答案详解(必刷)
- 2026四川省国投资产托管有限责任公司招聘1人备考题库及参考答案详解1套
- 2026云南自药集团股份有限公司呼和浩特岗位招聘7人备考题库含答案详解(轻巧夺冠)
- 2026北汽福田工业设计中心内部招聘23人备考题库及答案详解(历年真题)
- 2026上半年安徽事业单位联考颍上县招聘51人备考题库带答案详解(巩固)
- 2026广东佛山市顺德区龙潭小学招聘语文、心理临聘教师3人备考题库含答案详解(满分必刷)
- 2026年常德职业技术学院单招职业适应性测试题库及答案1套
- 三管三必须考试卷(附答案)
- 2024-2025学年山东省菏泽市成武县某中学高二上学期开学考试英语试卷(解析版)
- 2025全国注册监理工程师继续教育考试题库及参考答案
- “无废医院”建设指引
- 篮球比赛应急预案及措施
- 2025-2030卫星互联网星座组网进度与地面终端兼容性报告
- 医院功能科年终总结
- 2024年QC课题(提升办案现场执法效率)专卖监督管理科
- 青光眼病人的健康宣教
- 弘扬教育家精神:新时代教师的使命与担当
评论
0/150
提交评论