- 5
- 0
- 约6.56千字
- 约 20页
- 2026-06-15 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年软件开发工程师面试题及答案
一、编程语言基础(5题,每题10分,共50分)
1.题目:
请用Python编写一个函数,接收一个字符串作为输入,返回该字符串中所有唯一的字符及其出现次数。例如,输入`hello`,输出应为`{h:1,e:1,l:2,o:1}`。
答案:
python
defunique_chars(s):
char_count={}
forcharins:
char_count[char]=char_count.get(char,0)+1
return{k:vfork,vinchar_count.items()ifv==1}
解析:
-使用字典`char_count`统计每个字符的出现次数。
-遍历输入字符串,若字符已存在于字典中,则计数加1;否则,初始化为1。
-最后通过列表推导式筛选出现次数为1的字符,返回结果。
2.题目:
请解释Java中的`volatile`关键字的作用,并说明它与`synchronized`的区别。
答案:
`volatile`关键字确保变量的可见性和有序性,但不保证原子性。具体作用如下:
-可见性:当一个线程修改了volatile变量的值,其他线程能够立即看到该变化。
-有序性:禁止指令重排序,确保volati
原创力文档

文档评论(0)