- 0
- 0
- 约5.61千字
- 约 17页
- 2026-03-24 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年软件开发工程师面试题大全及答案解析
一、编程语言基础(5题,每题10分)
1.题目(10分):
请用Python实现一个函数,输入一个字符串,返回该字符串中所有重复字符及其出现次数。例如,输入`hello`,输出`{l:2,o:1}`。
答案解析:
python
defcount_duplicates(s):
counts={}
forcharins:
counts[char]=counts.get(char,0)+1
return{char:countforcharincountsifcount1}
示例
print(count_duplicates(hello))#输出:{l:2,o:1}
解析:
使用字典统计字符出现次数,遍历字符串并更新计数,最后过滤出重复字符。时间复杂度O(n),空间复杂度O(n)。
2.题目(10分):
请解释Java中的`volatile`关键字的作用,并举例说明其应用场景。
答案解析:
`volatile`关键字确保变量的可见性和有序性,但不保证原子性。
-可见性:线程修改volatile变量后,其他线程能立即感知。
-有序性:禁止指令重排,保证代码执行顺序。
应用场景:单例模式、状态标记(如`running`/`stop`
原创力文档

文档评论(0)