2026年程序员面试指南技术难题及参考答案.docxVIP

  • 1
  • 0
  • 约9.49千字
  • 约 27页
  • 2026-02-14 发布于福建
  • 举报

2026年程序员面试指南技术难题及参考答案.docx

第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)

1亿VIP精品文档

相关文档