程序员技术岗面试题集及解析参考.docxVIP

  • 0
  • 0
  • 约6.69千字
  • 约 21页
  • 2026-02-02 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年程序员技术岗面试题集及解析参考

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

1.题目:

请解释Java中的`volatile`关键字的作用,并给出一个使用场景的示例代码。

答案:

`volatile`关键字确保变量的可见性和有序性,但不保证原子性。

-可见性:当某个线程修改了`volatile`变量,其他线程能够立即看到这个修改。

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

示例代码:

java

publicclassVolatileExample{

privatevolatilebooleanrunning=true;

publicvoidstart(){

newThread(()-{

while(running){

//业务逻辑

}

}).start();

}

publicvoidstop(){

running=false;

}

}

解析:

在多线程环境中,`running`变量如果不加`volatile`,其他线程可能无法立即感知其变化,导致死循环。使用`volatile`后,主线程修改`running`时,其他线程会立即读取最新值,从而正确停止循环。

2.题目:

C++中,`std::unique_ptr`与`std::shared_ptr`的区别是什么?在什么场景下使用`std::unique_ptr`更合适?

答案:

-`std::unique_ptr`:独占所有权,只能有一个`unique_ptr`指向对象,自动释放资源。

-`std::shared_ptr`:共享所有权,多个`shared_ptr`指向同一对象,引用计数为0时自动释放。

`std::unique_ptr`更合适的场景:

-对象生命周期与智能指针生命周期一致(如局部变量)。

-避免循环引用问题(不需要额外使用`weak_ptr`)。

示例代码:

cpp

includememory

voiduseUniquePtr(){

std::unique_ptrintptr=std::make_uniqueint(10);

//ptr不能被复制,只能移动

std::unique_ptrintnewPtr=std::move(ptr);

}

解析:

`unique_ptr`适合资源独占场景,如临时对象或单例模式。`shared_ptr`适合需要多个部分共享资源的情况,但需注意循环引用问题(需配合`weak_ptr`)。

二、数据结构与算法(8题,每题10分)

3.题目:

设计一个LRU(LeastRecentlyUsed)缓存,容量为3,输入序列为`[1,2,3,4,1,2,5,1,2,3,4,5]`,请输出缓存命中和未命中的情况。

答案:

LRU缓存逻辑:

-新元素添加时,若缓存已满,删除最久未使用元素。

-如果元素已存在,将其移动到队首。

输出:

-命中:1,2,3,1,2

-未命中:4,5

示例代码(Python):

python

fromcollectionsimportdeque

classLRUCache:

def__init__(self,capacity):

self.cache={}

self.capacity=capacity

self.order=deque()

defget(self,key):

ifkeyinself.cache:

self.order.remove(key)

self.order.append(key)

returnself.cache[key]

return-1

defput(self,key,value):

ifkeyinself.cache:

self.order.remove(key)

eliflen(self.cache)==self.capacity:

oldest=self.order.popleft()

delself.cache[oldest]

self.cache[key]=value

self.order.append(key)

lru=LRUCache(3)

fornumin[1,2,3,4,1,2,5,1,2,3,4,5]:

iflru.get(num)==-1:

print(f未命中:{num})

else:

print(f命中:{num})

解析:

LRU通过双向队列维护访问顺序,哈希表实现O(1)访问。示例中,`4`和`5`未命中,因为缓存已满且不存在。

4.题目:

给定一个数组`[3,

文档评论(0)

1亿VIP精品文档

相关文档