计算机类面试题目及答案

更新时间:2024-03-29 06:14:15 阅读: 评论:0

2024年3月29日发(作者:我的小狗)

计算机类面试题目及答案

计算机类面试题目及答案

面试的形式有多种,有一个面试官对一个应聘者,也有多对一,

一对多,多对多;无论面试的形式有多少,都是围绕考核应聘者的素

质是否符合所招聘岗位的要求而展开的。下面给大家带来2022计算

机类面试题目及答案,希望能帮助到大家!

Java多线程面试题目

1、什么是线程?

线程是操作系统能够进行运算调度的最小单位,它被包含在进

程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器

编程,你可以使用多线程对运算密集型任务提速。比如,如果一个线

程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫

秒。

2、线程和进程有什么区别?

线程是进程的子集,一个进程可以有很多线程,每条线程并行

执行不同的任务。不同的进程使用不同的内存空间,而所有的线程共

享一片相同的内存空间。每个线程都拥有单独的栈内存用来存储本地

数据。

3、如何在Java中实现线程?

两种方式: 类的实例就是一个线程但是它需

要调用le接口来执行,由于线程类本身就是调用

的Runnable接口所以你可以继承 类或者直接调

第 1 页 共 12 页

用Runnable接口来重写run()方法实现线程。

4、Java 关键字volatile 与 synchronized 作用与区别?

Volatile:

它所修饰的变量不保留拷贝,直接访问主内存中的。

在Java内存模型中,有main memory,每个线程也有自己的

memory (例如寄存器)。为了性能,一个线程会在自己的memory

中保持要访问的变量的副本。这样就会出现同一个变量在某个瞬间,

在一个线程的memory中的值可能与另外一个线程memory中的值,

或者main memory中的值不一致的情况。 一个变量声明为volatile,

就意味着这个变量是随时会被其他线程修改的,因此不能将它cache

在线程memory中。

synchronized:

当它用来修饰一个方法或者一个代码块的时候,能够保证在同

一时刻最多只有一个线程执行该段代码。

一、当两个并发线程访问同一个对象object中的这个

synchronized(this)同步代码块时,一个时间内只能有一个线程得到

执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行

该代码块。

二、然而,当一个线程访问object的一个synchronized(this)

同步代码块时,另一个线程仍然可以访问该object中的非

synchronized(this)同步代码块。

三、尤其关键的是,当一个线程访问object的一个

第 2 页 共 12 页

synchronized(this)同步代码块时,其他线程对object中所有其它

synchronized(this)同步代码块的访问将被阻塞。

四、当一个线程访问object的一个synchronized(this)同步代

码块时,它就获得了这个object的对象锁。结果,其它线程对该

object对象所有同步代码部分的访问都被暂时阻塞。

五、以上规则对其它对象锁同样适用。

5、有哪些不同的线程生命周期?

当我们在Java程序中新建一个线程时,它的状态是New。当

我们调用线程的start()方法时,状态被改变为Runnable。线程调度

器会为Runnable线程池中的线程分配CPU时间并且讲它们的状态

改变为Running。其他的线程状态还有Waiting,Blocked 和Dead。

6、你对线程优先级的理解是什么?

每一个线程都是有优先级的,一般来说,高优先级的线程在运

行时会具有优先权,但这依赖于线程调度的实现,这个实现是和操作

系统相关的(OS dependent)。

我们可以定义线程的优先级,但是这并不能保证高优先级的线

程会在低优先级的线程前执行。线程优先级是一个int变量(从1-10),

1代表最低优先级,10代表最高优先级。

7、什么是死锁(Deadlock)?如何分析和避免死锁?

死锁是指两个以上的线程永远阻塞的情况,这种情况产生至少

需要两个以上的线程和两个以上的资源。

分析死锁,我们需要查看Java应用程序的线程转储。我们需要

第 3 页 共 12 页

找出那些状态为BLOCKED的线程和他们等待的资源。每个资源都有

一个唯一的id,用这个id我们可以找出哪些线程已经拥有了它的对

象锁。

避免嵌套锁,只在需要的地方使用锁和避免无限期等待是避免

死锁的通常办法。

8、什么是线程安全?Vector是一个线程安全类吗?

如果你的代码所在的进程中有多个线程在同时运行,而这些线

程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果

是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全

的。

一个线程安全的计数器类的同一个实例对象在被多个线程使用

的情况下也不会出现计算失误。很显然你可以将集合类分成两组,线

程安全和非线程安全的。Vector 是用同步方法来实现线程安全的,

而和它相似的ArrayList不是线程安全的。

9、Java中如何停止一个线程?

Java提供了很丰富的API但没有为停止线程提供API。JDK 1.0

本来有一些像stop(), suspend()和resume()的控制方法但是由于

潜在的死锁威胁因此在后续的JDK版本中他们被弃用了,之后Java

API的设计者就没有提供一个兼容且线程安全的方法来停止一个线

程。

当run()或者 call()方法执行完的时候线程会自动结束,如果要

手动结束一个线程,你可以用volatile 布尔变量来退出run()方法的

第 4 页 共 12 页

循环或者是取消任务来中断线程。

Kubernetes面试题及答案

1、什么是Kubernetes?

Kubernetes是一个开源容器管理工具,负责容器部署,容器

扩缩容以及负载平衡。作为Google的创意之作,它提供了出色的社

区,并与所有云提供商合作。因此,我们可以说Kubernetes不是一

个容器化平台,而是一个多容器管理解决方案。

2、Kubernetes与Docker有什么关系?

众所周知,Docker提供容器的生命周期管理,Docker镜像构

建运行时容器。但是,由于这些单独的容器必须通信,因此使用

Kubernetes。因此,我们说Docker构建容器,这些容器通过

Kubernetes相互通信。因此,可以使用Kubernetes手动关联和编

排在多个主机上运行的容器。

3、什么是Container Orchestration?

考虑一个应用程序有5-6个微服务的场景。现在,这些微服务

被放在单独的容器中,但如果没有容器编排就无法进行通信。因此,

由于编排意味着所有乐器在音乐中和谐共处,所以类似的容器编排意

味着各个容器中的所有服务协同工作以满足单个服务器的需求。

4、Kubernetes如何简化容器化部署?

由于典型应用程序将具有跨多个主机运行的容器集群,因此所

有这些容器都需要相互通信。因此,要做到这一点,你需要一些能够

负载平衡,扩展和监控容器的东西。由于Kubernetes与云无关并且

第 5 页 共 12 页

可以在任何公共/私有提供商上运行,因此必须是您简化容器化部署

的选择。

5、您对Kubernetes的集群了解多少?

Kubernetes背后的基础是我们可以实施所需的状态管理,我

的意思是我们可以提供特定配置的集群服务,并且集群服务将在基础

架构中运行并运行该配置。

因此,正如您所看到的,部署文件将具有提供给集群服务所需

的所有配置。现在,部署文件将被提供给API,然后由集群服务决定

如何在环境中安排这些pod,并确保正确运行的pod数量。

因此,位于服务前面的API,工作节点和节点运行的Kubelet

进程,共同构成了Kubernetes集群。

6、Kubernetes Architecture的不同组件有哪些?

Kubernetes Architecture主要有两个组件 - 主节点和工作节

点。如下图所示,master和worker节点中包含许多内置组件。主

节点具有kube-controller-manager,kube-apirver,

kube-scheduler等。而工作节点具有在每个节点上运行的kubelet

和kube-proxy。

7、您能否介绍一下Kubernetes中主节点的工作情况?

Kubernetes master控制容器存在的节点和节点内部。现在,

这些单独的容器包含在容器内部和每个容器内部,您可以根据配置和

要求拥有不同数量的容器。

因此,如果必须部署pod,则可以使用用户界面或命令行界面

第 6 页 共 12 页

计算机类面试题目及答案

本文发布于:2024-03-29 06:14:15,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/zhishi/a/1711664055261205.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:计算机类面试题目及答案.doc

本文 PDF 下载地址:计算机类面试题目及答案.pdf

下一篇:返回列表
标签:线程   容器   运行   节点   提供   访问   服务   使用
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 实用文体写作网旗下知识大全大全栏目是一个全百科类宝库! 优秀范文|法律文书|专利查询|