- 2
- 0
- 约5.84千字
- 约 19页
- 2026-05-17 发布于福建
- 举报
第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`的区别:
-
您可能关注的文档
最近下载
- 儿童小学教育心理学教育心理学第八章节:学习动机.ppt VIP
- 2025年南通市中考历史试题卷(含答案详解).pdf
- 基于ROS的模块化机器人控制系统设计论文.docx VIP
- RCA-Example- RCA Report for seawater pump.doc VIP
- 自制大富翁4桌面游戏.pdf VIP
- 2023-2024学年北师大版(2019)必修 第三册Unit 9 Learning Lesson 2 Language Learning Tips课件(共22张).pptx VIP
- 输尿管肿瘤的护理.pptx VIP
- 部编版九年级历史下学期教材原图分析课件.pptx VIP
- 协助老年人使用轮椅转移健康照护技能83课件讲解.pptx VIP
- 2025年急性缺血性卒中诊治指南(全文).docx VIP
原创力文档

文档评论(0)