- 1
- 0
- 约9.49千字
- 约 27页
- 2026-02-14 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年程序员面试指南:技术难题及参考答案
一、编程语言基础(共5题,每题10分,总分50分)
题目1(Java):
编写一个Java方法,实现判断一个整数是否为完全平方数。如果不是完全平方数,返回-1;如果是,返回其平方根的整数部分。
java
publicclassSquareNumber{
publicstaticvoidmain(String[]args){
System.out.println(findSquareRoot(16));//输出4
System.out.println(findSquareRoot(14));//输出-1
}
publicstaticintfindSquareRoot(intnum){
if(num0){
return-1;
}
intleft=0,right=num;
while(left=right){
intmid=left+(right-left)/2;
longsquare=(long)midmid;
if(square==num){
returnmid;
}elseif(squarenum){
left=mid+1;
}else{
right=mid-1;
}
}
return-1;
}
}
题目2(Python):
使用Python实现一个函数,接收一个字符串列表,返回所有包含至少两个连续重复字符的字符串。
python
deffind_repeated_strings(strings):
result=[]
forsinstrings:
foriinrange(len(s)-1):
ifs[i]==s[i+1]:
result.append(s)
break
returnlist(set(result))#去重
测试
print(find_repeated_strings([hello,world,aa,bb,aab,ccddd]))#输出[aa,aab,ccddd]
题目3(JavaScript):
编写一个JavaScript函数,接收一个数组,返回一个新数组,其中包含原数组中所有元素的平方,但只保留奇数平方。
javascript
functionfilterOddSquares(arr){
returnarr.map(x=xx).filter(y=y%2!==0);
}
//测试
console.log(filterOddSquares([1,2,3,4]));//输出[1,9]
题目4(C++):
实现一个C++函数,统计一个字符串中所有元音字母(a,e,i,o,u)的出现次数,并返回一个包含五个元素的数组,对应五个元音字母的出现次数。
cpp
includeiostream
includevector
includestring
usingnamespacestd;
vectorintcountVowels(conststringstr){
vectorintcounts(5,0);//a,e,i,o,u
for(charc:str){
switch(tolower(c)){
casea:counts[0]++;break;
casee:counts[1]++;break;
casei:counts[2]++;break;
caseo:counts[3]++;break;
caseu:counts[4]++;break;
}
}
returncounts;
}
intmain(){
vectorintresult=countVowels(HelloWorld!);
for(intcount:result){
coutcount;//输出31121
}
return0;
}
题目5(Go):
编写一个Go函数,接收一个整数切片,返回一个布尔值,表示该切片是否是严格递增的。
go
packagemain
importfmt
funcisStrictlyIncreasing(arr[]int)bool{
fori:=1;ilen(arr);i++{
ifarr[i]=arr[i-1]{
returnfalse
}
}
returntrue
}
funcmain(){
fmt.Println(isStrictl
原创力文档

文档评论(0)