IT方面的面试笔试题目2022_第1页
IT方面的面试笔试题目2022_第2页
IT方面的面试笔试题目2022_第3页
IT方面的面试笔试题目2022_第4页
IT方面的面试笔试题目2022_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——IT方面的面试笔试题目2022IT方面的面试笔试题目2022

IT面试笔试题目难吗?求职面试时,面试官一般都会问你一些问题,也可能是通过问卷的形式提问,怎么回复才是最好的呢?这里给大家共享一些IT面试笔试题目,梦想对大家有所扶助。

Kubernetes面试题汇总及答案

1、什么是Kubernetes?

Kubernetes是一个开源容器管理工具,负责容器部署,容器扩缩容以及负载平衡。作为Google的创意之作,它供给了卓越的社区,并与全体云供给商合作。因此,我们可以说Kubernetes不是一个容器化平台,而是一个多容器管理解决方案。

2、Kubernetes与Docker有什么关系?

众所周知,Docker供给容器的生命周期管理,Docker镜像构建运行时容器。但是,由于这些单独的容器务必通信,因此使用Kubernetes。因此,我们说Docker构建容器,这些容器通过Kubernetes相互通信。因此,可以使用Kubernetes手动关联和编排在多个主机上运行的容器。

3、什么是ContainerOrchestration?

考虑一个应用程序有5-6个微服务的场景。现在,这些微服务被放在单独的容器中,但假设没有容器编排就无法举行通信。因此,由于编排意味着全体乐器在音乐中和谐共处,所以类似的容器编排意味着各个容器中的全体服务协同工作以得志单个服务器的需求。

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

由于典型应用程序将具有跨多个主机运行的容器集群,因此全体这些容器都需要相互通信。因此,要做到这一点,你需要一些能够负载平衡,扩展和监控容器的东西。由于Kubernetes与云无关并且可以在任何公共/私有供给商上运行,因此务必是您简化容器化部署的选择。

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

Kubernetes背后的根基是我们可以实施所需的状态管理,我的意思是我们可以供给特定配置的集群服务,并且集群服务将在根基架构中运行并运行该配置。

因此,正如您所看到的,部署文件将具有供给给集群服务所需的全体配置。现在,部署文件将被供给给API,然后由集群服务抉择如何在环境中安置这些pod,并确保正确运行的pod数量。

因此,位于服务前面的API,工作节点和节点运行的Kubelet进程,共同构成了Kubernetes集群。

6、KubernetesArchitecture的不同组件有哪些?

KubernetesArchitecture主要有两个组件-主节点和工作节点。如下图所示,master和worker节点中包含大量内置组件。主节点具有kube-controller-manager,kube-apiserver,kube-scheduler等。而工作节点具有在每个节点上运行的kubelet和kube-proxy。

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

Kubernetesmaster操纵容器存在的节点和节点内部。现在,这些单独的容器包含在容器内部和每个容器内部,您可以根据配置和要求拥有不同数量的容器。

因此,假设务必部署pod,那么可以使用用户界面或命令行界面部署它们。然后,在节点上调度这些pod,并根据资源需求,将pod调配给这些节点。kube-apiserver确保在Kubernetes节点和主组件之间建立通信。

8、kube-apiserver和kube-scheduler的作用是什么?

kube-apiserver遵循横向扩展架构,是主节点操纵面板的前端。这将公开Kubernetes主节点组件的全体API,并负责在Kubernetes节点和Kubernetes主组件之间建立通信。

kube-scheduler负责工作节点上工作负载的调配和管理。因此,它根据资源需求选择最适合的节点来运行未调度的pod,并跟踪资源利用率。它确保不在已满的节点上调度工作负载。

9、你对Kubernetes的负载均衡器有什么了解?

负载均衡器是暴露服务的最常见和标准方式之一。根据工作环境使用两种类型的负载均衡器,即内部负载均衡器或外部负载均衡器。内部负载均衡器自动平衡负载并使用所需配置调配容器,而外部负载均衡器将流量从外部负载引导至后端容器。

10、ReplicaSet和ReplicationController之间有什么识别?

ReplicaSet和ReplicationController几乎完全一致。它们都确保在任何给定时间运行指定数量的pod副本。不同之处在于复制pod使用的选择器。ReplicaSet使用基于集合的选择器,而ReplicationController使用基于权限的选择器。

Equity-Based选择器:这种类型的选择器允许按标签键和值举行过滤。因此,在外行术语中,基于Equity的选择器将仅查找与标签具有完全一致短语的pod。

例如:假设您的标签键表示app=nginx,那么,使用此选择器,您只能查找标签应用程序等于nginx的那些pod。

Selector-Based选择器:此类型的选择器允许根据一组值过滤键。因此,换句话说,基于Selector的选择器将查找已在集合中提及其标签的pod。

例如:假设您的标签键在(nginx,NPS,Apache)中显示应用程序。然后,使用此选择器,假设您的应用程序等于任何nginx,NPS或Apache,那么选择器将其视为真实结果。

Java多线程面试题

1、什么是线程?

线程是操作系统能够举行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它举行多处理器编程,你可以使用多线程对运算密集型任务提速。譬如,假设一个线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒。

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

线程是进程的子集,一个进程可以有好多线程,每条线程并行执行不同的任务。不同的进程使用不同的内存空间,而全体的线程共享一片一致的内存空间。每个线程都拥有单独的栈内存用来存储本地数据。

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

两种方式:java.lang.Thread类的实例就是一个线程但是它需要调用java.lang.Runnable接口来执行,由于线程类本身就是调用的Runnable接口所以你可以继承java.lang.Thread类或者直接调用Runnable接口来重写run()方法实现线程。

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

Volatile:

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

在Java内存模型中,有mainmemory,每个线程也有自己的memory(例如寄放器)。为了性能,一个线程会在自己的memory中保持要访问的变量的副本。这样就会展现同一个变量在某个瞬间,在一个线程的memory中的值可能与另外一个线程memory中的值,或者mainmemory中的值不一致的处境。一个变量声明为volatile,就意味着这个变量是随时会被其他线程修改的,因此不能将它cache在线程memory中。

synchronized:

当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。

一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程务必等待当前线程执行完这个代码块以后才能执行该代码块。

二、然而,当一个线程访问object的一个synchronized(this)同步代码块时,另一个线程依旧可以访问该object中的非synchronized(this)同步代码块。

三、尤其关键的是,当一个线程访问object的一个synchronized(this)同步代码块时,其他线程对object中全体其它synchronized(this)同步代码块的访问将被阻塞。

四、当一个线程访问object的一个synchronized(this)同步代码块时,它就获得了这个object的对象锁。结果,其它线程对该object对象全体同步代码片面的访问都被暂时阻塞。

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

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

当我们在Java程序中新建一个线程时,它的状态是New。当我们调用线程的start()方法时,状态被变更为Runnable。线程调度器会为Runnable线程池中的线程调配CPU时间并且讲它们的状态变更为Running。其他的线程状态还有Waiting,Blocked和Dead。

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

每一个线程都是有优先级的,一般来说,高优先级的线程在运行时会具有优先权,但这凭借于线程调度的实现,这个实现是和操作系统相关的(OSdependent)。

我们可以定义线程的优先级,但是这并不能保证高优先级的线程会在低优先级的线程前执行。线程优先级是一个int变量(从1-10),1代表最低优先级,10代表最高优先级。

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

死锁是指两个以上的线程永远阻塞的处境,这种处境产生至少需要两个以上的线程和两个以上的资源。

分析死锁,我们需要查看Java应用程序的线程转储。我们需要找出那些状态为BLOCKED的线程和他们等待的资源。每个资源都有一个唯一的id,用这个id我们可以找出哪些线程已经拥有了它的对象锁。

制止嵌套锁,只在需要的地方使用锁和制止无限期等待是制止死锁的通常手段。

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

假设你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。假设每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安好的。

一个线程安好的计数器类的同一个实例对象在被多个线程使用的处境下也不会展现计算失误。很鲜明你可以将集合类分成两组,线程安好和非线程安好的。Vector是用同步方法来实现线程安好的,而和它好像的ArrayList不是线程安好的。

9、Java中如何中断一个线程?

Java供给了很丰富的API但没有为中断线程供给API。JDK1.0本来有一些像stop(),suspend()和resume()的操纵方法但是由于潜在的死锁要挟因此在后续的JDK版本中他们被弃用了,之后JavaAPI的设计者就没有供给一个兼容且线程安好的方法来中断一个线程。

当run()或者call()方法执行完的时候线程会自动终止,假设要手动终止一个线程,你可以用volatile布尔变量来退出run()方法的循环或者是取消任务来中断线程。

10、什么是ThreadLocal?

ThreadLocal用于创造线程的本地变量,我们知道一个对象的全体线程会共享它的全局变量,所以这些变量不是线程安好的,我们可以使用同步技术。但是当我们不想使用同步的时候,我们可以选择ThreadLocal变量。

每个线程都会拥有他们自己的Thread变量,它们可以使用get()set()方法去获取他们的默认值或者在线程内部变更他们的值。ThreadLocal实例通常是梦想它们同线程状态关联起来是privatestatic属性。

关于python的面试题

1、lambda表达式格式以及应用场景?

表达式格式:lambda后面跟一个或多个参数,紧跟一个冒号,以后是一个表达式。冒号前是参数,冒号后是返回值。例如:lambdax:2x

应用场景:经常与一些内置函数相结合使用,譬如说map(),filter(),sorted(),reduce()等

2、pass的作用?

①空语句donothing;

②保证格式完整;

③保证语义完整。

3、arg和_kwarg作用?

万能参数,解决了函数参数不固定的问题

_arg:会把位置参数转化为tuple

__kwarg:会把关键字参数转化为dict

4、、is和==的识别?

is:判断内存地址是否相等;

==:判断数值是否相等。

5、、简述Python的深浅拷贝以及应用场景?

copy():浅copy,浅拷贝指仅仅拷贝数据集合的第一层数据

deepcopy():深copy,深拷贝指拷贝数据集合的全体层

6、Python垃圾回收机制?

python采用的是引用计数机制为主,标记-除掉和分代收集(隔代回收、分代回收)两种机制为辅的策略

计数机制:

Python的GC模块主要运用了引用计数来跟踪和回收垃圾。在引用计数的根基上,还可以通过“标记-除掉”

解决容器对象可能产生的循环引用的问题。通过分代回收以空间换取时间进一步提高垃圾回收的效率。

标记-除掉:

标记-除掉的展现打破了循环引用,也就是它只关注那些可能会产生循环引

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论