- 0
- 0
- 约5.58千字
- 约 16页
- 2026-02-10 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年阿里巴IT岗位面试问题及答案
一、编程基础题(共3题,每题10分)
1.题目:
请用Python实现一个函数,输入一个正整数n,返回其阶乘值。要求不使用递归,并考虑大数处理(如n=1000)。
答案:
python
deffactorial(n):
ifn==0:
return1
result=1
foriinrange(1,n+1):
result=i
returnresult
示例:n=5→120
print(factorial(5))
解析:
-阶乘计算可通过循环实现,避免递归栈溢出问题。
-大数处理需注意Python内置的`int`类型可自动处理大数,但需优化内存效率(如使用`math.factorial`)。
2.题目:
请用Java实现一个方法,输入一个字符串,返回该字符串的所有子串(不重复)。
答案:
java
importjava.util.HashSet;
importjava.util.Set;
publicclassSubstring{
publicstaticSetStringallSubstrings(Strings){
SetStringset=newHashSet();
for(inti=0;is.length();i++){
for(intj=i+1;j=s.length();j++){
set.add(s.substring(i,j));
}
}
returnset;
}
publicstaticvoidmain(String[]args){
System.out.println(allSubstrings(abc));//[a,b,c,ab,bc,abc]
}
}
解析:
-子串生成通过两层循环实现,外层固定起始位置,内层遍历结束位置。
-使用`HashSet`去重,避免重复子串。
3.题目:
请用C++实现快速排序算法,并分析其时间复杂度。
答案:
cpp
includeiostream
includevector
voidquickSort(std::vectorintarr,intleft,intright){
if(left=right)return;
intpivot=arr[left+(right-left)/2];
inti=left,j=right;
while(i=j){
while(arr[i]pivot)i++;
while(arr[j]pivot)j--;
if(i=j){
std::swap(arr[i],arr[j]);
i++,j--;
}
}
quickSort(arr,left,j);
quickSort(arr,i,right);
}
intmain(){
std::vectorintarr={3,1,4,1,5};
quickSort(arr,0,arr.size()-1);
for(autox:arr)std::coutx;
return0;
}
解析:
-快速排序核心是分治思想,时间复杂度平均O(nlogn),最坏O(n2)。
-实现中通过`pivot`分区,递归排序左右子数组。
二、算法设计题(共3题,每题15分)
1.题目:
阿里云服务器负载均衡场景下,请设计一个算法,动态分配流量到后端服务器,要求高可用且响应时间最短。
答案:
python
classLoadBalancer:
def__init__(self):
self.servers=[]
self.weights={}
defadd_server(self,server_id,weight=1):
self.servers.append(server_id)
self.weights[server_id]=weight
defget_server(self):
total_weight=sum(self.weights.values())
random_weight=random.randint(1,total_weight)
current=0
forserverinself.servers:
current+=self.weights[server]
ifcurrent=random_weight:
returnserver
returnNone
示例
lb=LoadB
您可能关注的文档
最近下载
- XA2024小升初_西安铁X中入学数学试卷入学真卷.pdf VIP
- 劳动防护用品配备标准.docx VIP
- 征信报告模板-带水印版.docx VIP
- Q 320116 NHPS008-2017_HPGC-1000型 在线气相色谱仪.pdf VIP
- XA2024小升初_西安(工大)数学入学试卷一.pdf VIP
- Se inclinassi a prender moglie 我要把妻子赏赐给你(G) - 未知.pdf VIP
- 项目竞标附加服务保证书.docx VIP
- 导线连接器应用技术.docx VIP
- 深入学习《中国共产党章程》心得体会【五篇】.doc VIP
- 企业研发中产品质量和成本的平衡点探讨.docx VIP
原创力文档

文档评论(0)