- 0
- 0
- 约5.48千字
- 约 15页
- 2026-01-20 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年京东软件开发面试全攻略与题库
一、编程基础(共5题,每题10分,总分50分)
1.题目:请用Java实现一个简单的LRU(LeastRecentlyUsed)缓存机制,要求支持get和put操作,并说明时间复杂度。
答案:
java
importjava.util.HashMap;
importjava.util.Map;
publicclassLRUCacheK,V{
privatefinalintcapacity;
privatefinalMapK,Nodemap;
privateNodehead,tail;
publicLRUCache(intcapacity){
this.capacity=capacity;
map=newHashMap();
}
publicVget(Kkey){
Nodenode=map.get(key);
if(node==null)returnnull;
moveToHead(node);
returnnode.value;
}
publicvoidput(Kkey,Vvalue){
Nodenode=map.get(key);
if(node!=null){
node.value=value;
moveToHead(node);
}else{
if(map.size()==capacity){
map.remove(tail.key);
removeNode(tail);
}
NodenewNode=newNode(key,value);
map.put(key,newNode);
addToHead(newNode);
}
}
privatevoidmoveToHead(Nodenode){
removeNode(node);
addToHead(node);
}
privatevoidaddToHead(Nodenode){
node.next=head;
node.prev=null;
if(head!=null)head.prev=node;
head=node;
if(tail==null)tail=node;
}
privatevoidremoveNode(Nodenode){
if(node.prev!=null)node.prev.next=node.next;
if(node.next!=null)node.next.prev=node.prev;
if(node==head)head=node.next;
if(node==tail)tail=node.prev;
}
privatestaticclassNode{
Kkey;
Vvalue;
Nodeprev,next;
Node(Kkey,Vvalue){
this.key=key;
this.value=value;
}
}
}
解析:LRU缓存通过双向链表和哈希表实现,get操作将节点移动到头部,put操作时如果缓存已满则删除尾部节点。时间复杂度为O(1)。
2.题目:请用Python实现快速排序算法,并分析其时间复杂度。
答案:
python
defquick_sort(arr):
iflen(arr)=1:
returnarr
pivot=arr[len(arr)//2]
left=[xforxinarrifxpivot]
middle=[xforxinarrifx==pivot]
right=[xforxinarrifxpivot]
returnquick_sort(left)+middle+quick_sort(right)
解析:快速排序通过分治法实现,时间复杂度为O(nlogn),最坏情况下为O(n2)。
3.题目:请解释Java中的线程池原理,并说明如何使用`ExecutorService`创建一个固定大小的线程池。
答案:
java
importjava.util.concurrent.ExecutorService;
importjava.util.concurrent.Executors;
publicclassThreadPoolExample{
publicstaticvoidmain(String[]args){
ExecutorServiceexec
您可能关注的文档
- 2026年建筑检测实验室主任招聘面试题目与答案参考.docx
- 2026年税务优化策略助理面试题集.docx
- 2026年旅游行业酒店经理面试题.docx
- 2026年农业机械设备维修工程师的培训与考核.docx
- 2026年通讯技术岗位常见问题解析与答案.docx
- 2026年企业实训基地负责人面试指南及考核要点.docx
- 2026年私募基金理财顾问面试题集.docx
- 2026年信息产业软件开发经理想法型面试题参考.docx
- 2026年行政支持专员工作考核标准及方法.docx
- 2026年IT行业软件开发测试专员技能要求.docx
- 25-26学年政治(部编版)选择性必修第二册课件:第1单元 周清1 民法中的人身权及财产权.pptx
- 25-26学年政治(部编版)选择性必修第二册课件:1.4.1 权利保障 于法有据.pptx
- 2025北京丰台区高二(上)期中地理(A卷)含答案.docx
- 2025北京三帆中学初三(上)开学考英语试题含答案.docx
- 2025北京一零一中初三9月月考语文试题含答案.docx
- 2025北京海淀区初三(上)期中道法试题含答案.docx
- 2025北京丰台区高一(上)期中政治(A卷)含答案.docx
- 25-26学年政治统编版必修4课件:3.3 唯物辩证法的实质与核心.pptx
- 25-26学年政治统编版必修4课件:7.2 正确认识中华传统文化.pptx
- 湖北省部分高中2026届高三上学期二模联考 历史试卷.docx
原创力文档

文档评论(0)