- 0
- 0
- 约1.02万字
- 约 26页
- 2026-01-15 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年IT公司面试官面试题集及答案解析
一、编程语言基础(共5题,每题10分,总分50分)
题目1(Java基础-10分)
请用Java代码实现一个方法,输入一个字符串,返回该字符串中出现次数最多的字符及其出现次数。例如,输入abacabad,输出a:4。
java
publicclassMaxFrequencyChar{
publicstaticvoidmain(String[]args){
Stringinput=abacabad;
System.out.println(findMaxFrequencyChar(input));
}
publicstaticStringfindMaxFrequencyChar(Stringstr){
if(str==null||str.isEmpty())return;
int[]counts=newint[256];//ASCII字符集
for(charc:str.toCharArray()){
counts[c]++;
}
charmaxChar=0;
intmaxCount=0;
for(inti=0;icounts.length;i++){
if(counts[i]maxCount){
maxCount=counts[i];
maxChar=(char)i;
}
}
returnmaxChar+:+maxCount;
}
}
解析:该方法使用数组存储每个字符的出现次数,然后遍历数组找出最大值。时间复杂度为O(n),空间复杂度为O(1)。
题目2(Python基础-10分)
请用Python实现一个函数,接收一个列表,返回一个新列表,其中包含原列表中所有唯一的元素,按出现顺序排列。例如,输入[1,2,2,3,4,4,4,5],输出[1,2,3,4,5]。
python
defunique_elements(lst):
seen=set()
result=[]
foriteminlst:
ifitemnotinseen:
result.append(item)
seen.add(item)
returnresult
测试
print(unique_elements([1,2,2,3,4,4,4,5]))#[1,2,3,4,5]
解析:使用集合记录已见过的元素,列表存储唯一元素。这种方法保持了原始顺序,时间复杂度为O(n)。
题目3(JavaScript基础-10分)
请用JavaScript实现一个函数,检查一个字符串是否是回文(正读反读相同)。例如,输入level,返回true;输入hello,返回false。
javascript
functionisPalindrome(str){
constcleaned=str.toLowerCase().replace(/[^a-z0-9]/g,);
letleft=0;
letright=cleaned.length-1;
while(leftright){
if(cleaned[left]!==cleaned[right]){
returnfalse;
}
left++;
right--;
}
returntrue;
}
//测试
console.log(isPalindrome(level));//true
console.log(isPalindrome(hello));//false
解析:先清理字符串,然后使用双指针从两端向中间比较。时间复杂度为O(n)。
题目4(C++基础-10分)
请用C++实现一个函数,找出数组中和为特定值的所有三元组。例如,输入数组{2,7,4,5,8,10},目标和为16,输出[[2,7,7],[2,4,10],[4,5,7]]
cpp
includeiostream
includevector
includealgorithm
voidfindThreeSum(std::vectorintnums,inttarget){
std::sort(nums.begin(),nums.end());
intn=nums.size();
std::vectorstd::vectorintresult;
for(inti=0;in-2;i++){
if(i0nums[i]==nums[i-1])continue;//跳过重复项
intleft=i+1;
原创力文档

文档评论(0)