2026年软件开发工程师编程面试题库含答案.docxVIP

  • 2
  • 0
  • 约5.84千字
  • 约 19页
  • 2026-05-17 发布于福建
  • 举报

2026年软件开发工程师编程面试题库含答案.docx

第PAGE页共NUMPAGES页

2026年软件开发工程师编程面试题库含答案

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

1.题目:

请用Python实现一个函数,输入一个字符串,返回该字符串中所有唯一字符的列表(重复字符只保留第一次出现的位置)。

答案:

python

defunique_chars(s):

seen=set()

result=[]

forcharins:

ifcharnotinseen:

seen.add(char)

result.append(char)

returnresult

示例输入输出

print(unique_chars(hello))#输出:[h,e,l,o]

解析:

使用集合`seen`记录已出现过的字符,遍历字符串时,若字符不在`seen`中,则添加到结果列表和集合中。时间复杂度O(n),空间复杂度O(n)。

2.题目:

Java中,请解释`volatile`关键字的作用,并说明它与`synchronized`的区别。

答案:

`volatile`关键字确保变量的可见性和有序性,但不保证原子性。具体作用如下:

-可见性:线程A修改了`volatile`变量后,其他线程B能立即看到最新值。

-有序性:禁止指令重排序,保证代码执行顺序与程序顺序一致。

与`synchronized`的区别:

-

文档评论(0)

1亿VIP精品文档

相关文档