- 0
- 0
- 约9.67千字
- 约 27页
- 2026-02-14 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年程序设计职位面试经典问题集
一、编程语言基础(共5题,每题10分,总分50分)
题目1(Java基础)
编写一段Java代码,实现一个方法`reverseString`,接收一个字符串参数,返回该字符串的反转版本。例如,输入hello,返回olleh。要求不使用Java内置的字符串反转方法。
答案:
java
publicclassStringReverser{
publicstaticStringreverseString(Stringinput){
if(input==null||input.length()=1){
returninput;
}
char[]chars=input.toCharArray();
intleft=0;
intright=chars.length-1;
while(leftright){
//交换字符
chartemp=chars[left];
chars[left]=chars[right];
chars[right]=temp;
left++;
right--;
}
returnnewString(chars);
}
publicstaticvoidmain(String[]args){
System.out.println(reverseString(hello));//输出:olleh
System.out.println(reverseString());//输出:
System.out.println(reverseString(a));//输出:a
}
}
题目2(JavaScript基础)
使用JavaScript实现一个函数`findMissingNumber`,接收一个包含1到N(N为正整数)的数组的部分元素(可能包含重复值),返回缺失的数字。假设数组中的数字互不相同且范围在1到N之间。
答案:
javascript
functionfindMissingNumber(arr){
//方法一:数学公式
constn=arr.length+1;
consttotalSum=(n(n+1))/2;
constarrSum=arr.reduce((sum,num)=sum+num,0);
returntotalSum-arrSum;
//方法二:位运算XOR
//letresult=0;
//for(leti=1;i=n;i++){
//result^=i;
//}
//for(constnumofarr){
//result^=num;
//}
//returnresult;
}
题目3(Python基础)
在Python中,编写一个函数`validatePalindrome`,判断一个字符串是否为回文字符串,忽略大小写和非字母字符。例如,输入Racecar,返回True。
答案:
python
defvalidatePalindrome(s):
清理字符串:只保留字母并转为小写
cleaned=.join(c.lower()forcinsifc.isalpha())
方法一:双指针
left,right=0,len(cleaned)-1
whileleftright:
ifcleaned[left]!=cleaned[right]:
returnFalse
left+=1
right-=1
returnTrue
方法二:反转比较
returncleaned==cleaned[::-1]
题目4(C++基础)
实现一个C++函数`maxProfit`,给定一个包含每日股票价格的数组,返回可以获得的最大利润。如果无法获得利润,返回0。例如,输入[7,1,5,3,6,4],返回5(在价格为1时买入,价格为5时卖出)。
答案:
cpp
includevector
includealgorithm
intmaxProfit(conststd::vectorintprices){
if(prices.empty())return0;
intminPrice=prices[0];
intmaxProfit=0;
for(size_ti=1;iprices.size();++i){
if(prices[i]minPrice){
minPrice=prices[i];
}e
原创力文档

文档评论(0)