2026年软件工程师面试全攻略及答案详解.docxVIP

  • 0
  • 0
  • 约8.94千字
  • 约 27页
  • 2026-05-19 发布于福建
  • 举报

2026年软件工程师面试全攻略及答案详解.docx

第PAGE页共NUMPAGES页

2026年软件工程师面试全攻略及答案详解

一、编程语言基础(5题,每题10分,共50分)

(针对Java/Python/Go,考察基础语法与常用特性)

题目1:

请用Java实现一个方法,判断一个整数是否为完全平方数。如果不是完全平方数,返回-1;如果是,返回平方根的整数部分。

答案:

java

publicintisPerfectSquare(intnum){

if(num0)return-1;

longleft=0,right=num;

while(left=right){

longmid=left+(right-left)/2;

longsquare=midmid;

if(square==num)return(int)mid;

if(squarenum)left=mid+1;

elseright=mid-1;

}

return-1;

}

解析:

使用二分查找法,时间复杂度为O(logn),避免暴力枚举的O(n)低效性。关键在于处理大数平方时使用`long`类型防止溢出。

题目2:

用Python编写一个函数,接收一个列表,返回列表中所有唯一元素(即出现一次的元素)的新列表。

答案:

python

defunique_ele

文档评论(0)

1亿VIP精品文档

相关文档