IT面试笔试题目及答案参考_第1页
IT面试笔试题目及答案参考_第2页
IT面试笔试题目及答案参考_第3页
IT面试笔试题目及答案参考_第4页
IT面试笔试题目及答案参考_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

本文格式为Word版,下载可任意编辑——IT面试笔试题目及答案参考IT面试笔试题目及答案参考

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

springcloud面试题汇总及答案

问题一:说一下springcloud?

SpringCloud是一系列框架的有序集合。它利用SpringBoot的开发便利性高明地简化了分布式系统根基设施的开发,如服务察觉注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用SpringBoot的开发风格做到一键启动和部署。

SpringCloud是将目前各家公司开发的对比成熟、经得起实际考验的服务框架组合起来,通过SpringBoot风格举行再封装屏蔽掉了繁杂的配置和实现原理,最终给开发者留出了一套简朴易懂、易部署和易维护的分布式系统开发工具包。

问题二:使用SpringCloud有什么优势?

使用SpringBoot开发分布式微服务时,我们面临以下问题:

①与分布式系统相关的繁杂性-这种开销包括网络问题,延迟开销,带宽问题,安好问题。

②服务察觉-服务察觉工具管理群集中的流程和服务如何查找和彼此交谈。它涉及一个服务目次,在该目次中注册服务,然后能够查找并连接到该目次中的服务。

③冗余-分布式系统中的冗余问题。

④负载平衡--负载平衡改善跨多个计算资源的工作负荷,诸如计算机,计算机集群,网络链路,中央处理单元,或磁盘驱动器的分布。

⑤性能-问题由于各种运营开销导致的性能问题。

⑥部署繁杂性-Devops技能的要求。

问题三:SpringCloud的核心组件及其工作原理

Eureka:各个服务启动时,EurekaClient都会将服务注册到EurekaServer,并且EurekaClient还可以反过来从EurekaServer拉取注册表,从而知道其他服务在哪里;

Ribbon:服务间发起苦求的时候,基于Ribbon做负载均衡,从一个服务的多台机器中选择一台;

Feign:基于Feign的动态代理机制,根据注解和选择的机器,拼接苦求URL地址,发起苦求;

Hystrix:发起苦求是通过Hystrix的线程池来走的,不同的服务走不同的线程池,实现了不同服务调用的隔离,制止了服务雪崩的问题;

Zuul:假设前端、移动端要调用后端系统,统一从Zuul网关进入,由Zuul网关转发苦求给对应的服务。

问题四:服务注册和察觉是什么意思?SpringCloud如何实现?

当我们开头一个工程时,我们通常在属性文件中举行全体的配置。随着越来越多的服务开发和部署,添加和修改这些属性变得更加繁杂。有些服务可能会下降,而某些位置可能会发生变化。手动更改属性可能会产生问题。

Eureka服务注册和察觉可以在这种处境下供给扶助。由于全体服务都在Eureka服务器上注册并通过调用Eureka服务器完成查找,因此无需处理服务地点的任何更改和处理。

问题五:负载平衡的意义什么?

在计算中,负载平衡可以改善跨计算机,计算机集群,网络链接,中央处理单元或磁盘驱动器等多种计算资源的工作负载分布。负载平衡旨在优化资源使用,最大化吞吐量,最小化响应时间并制止任何单一资源的过载。

使用多个组件举行负载平衡而不是单个组件可能会通过冗余来提高稳当性和可用性。负载平衡通常涉及专用软件或硬件,例如多层交换机或域名系统服务器进程。

问题六:什么是NetflixFeign?它的优点是什么?

Feign是受到Retrofit,JAXRS-2.0和WebSocket启发的java客户端联编程序。Feign的第一个目标是将约束分母的繁杂性统一到httpapis,而不考虑其稳定性。在employee-consumer的例子中,我们使用了employee-producer使用REST模板公开的REST服务。

但是我们务必编写大量代码才能执行以下步骤

①使用功能区举行负载平衡。

②获取服务实例,然后获取根本URL。

③利用REST模板来使用服务。

Tomcat面试题汇总及答案

一、Tomcat的缺省端口是多少,怎么修改?

1)找到Tomcat目次下的conf文件夹

2)进入conf文件夹里面找到server.xml文件

3)开启server.xml文件

4)在server.xml文件里面找到以下信息

connectorport=8080connectiontimeout=20000protocol=HTTP/1.1p=

redirectPort=8443uriEncoding=utf-8/

port=8080改成你想要的端口

二、tomcat有哪几种Connector运行模式(优化)?

bio:传统的JavaI/O操作,同步且阻塞IO。maxThreads=”150”//Tomcat使用线程来处理接收的每个苦求。这个值表示

Tomcat可创造的最大的线程数。默认值200。可以根据机器的时期性能和内存大小调整,一般可以在400-500。最大可以在800左右。

minSpareThreads=”25”—Tomcat初始化时创造的线程数。默认值4。假设当前没有空闲线程,且没有超过maxThreads,一次性创造的空闲线程数量。

Tomcat初始化时创造的线程数量也由此值设置。maxSpareThreads=”75”–一旦创造的线程超过这个值,Tomcat就会关闭不再需要的socket线程。默认值50。一旦创造的线程超过此数值,Tomcat会关闭不再需要的线程。线程数可以大致上用“同时在线人数每秒用户操作次数系统平均操作时间”来计算。

acceptCount=”100”—-指定当全体可以使用的处理苦求的线程数都被使用时,可以放四处理队列中的苦求数,超过这个数的苦求将不予处理。默认值10。假设当前可用线程数为0,那么将苦求放入处理队列中。这个值限定了苦求队列的大小,超过这个数值的苦求将不予处理。connectionTimeout=”20000”–网络连接超时,默认值20000,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。

nio:JDK1.4开头支持,同步阻塞或同步非阻塞IO。指定使用NIO模型来采纳HTTP苦求

protocol=”org.apache.coyote.http11.Http11NioProtocol”指定使用NIO模型来采纳HTTP苦求。默认是BlockingIO,配置为protocol=”HTTP/1.1”acceptorThreadCount=”2”使用NIO模型时接收线程的数目

aio(nio.2):JDK7开头支持,异步非阻塞IO。

apr:Tomcat将以JNI的形式调用ApacheHTTP服务器的核心动态链接库来处理文件读取或网络传输操作,从而大大地提高Tomcat对静态文件的处理性能。

三、Tomcat有几种部署方式?

1)直接把Web工程放在webapps下,Tomcat会自动将其部署

2)在server.xml文件上配置节点,设置相关的属性即可

3)通过Catalina来举行配置:进入到conf\Catalina\localhost文件下,创造一个xml文件,该文件的名字就是站点的名字。

编写XML的方式来举行设置。

四、tomcat容器是如何创造servlet类实例?用到了什么原理?

当容器启动时,会读取在webapps目次下全体的web应用中的web.xml文件,然后对xml文件举行解析,并读取servlet注册信息。然后,将每个应用中注册的servlet类都举行加载,并通过反射的方式实例化。

(有时候也是在第一次苦求时实例化)在servlet注册时加上假设为正数,那么在一开头就实例化,假设不写或为负数,那么第一次苦求实例化。

五、tomcat如何优化?

1、优化连接配置.这里以tomcat7的参数配置为例,需要修改conf/server.xml文件,修改连接数,关闭客户端dns查询。参数解释:

URIEncoding=”UTF-8″:使得tomcat可以解析含有中文名的文件的url,真便当,不像apache里还有搞个mod_encoding,还要手工编译maxSpareThreads:假设空闲状态的线程数多于设置的数目,那么将这些线程中止,裁减这个池中的线程总数。

minSpareThreads:最小备用线程数,tomcat启动时的初始化的线程数。

enableLookups:这个成果和Apache中的HostnameLookups一样,设为关闭。

connectionTimeout:connectionTimeout为网络连接超时时间毫秒数。

maxThreads:maxThreadsTomcat使用线程来处理接收的每个苦求。这个值表示Tomcat可创造的最大的线程数,即最大并发数。

acceptCount:acceptCount是当线程数达成maxThreads后,后续苦求会被放入一个等待队列,这个acceptCount是这个队列的大小,假设这个队列也满了,就直接refuseconnectionmaxProcessors与minProcessors:

在Java中线程是程序运行时的路径,是在一个程序中与其它操纵线程无关的、能够独立运行的代码段。它们共享一致的地址空间。多线程扶助程序员写出CPU最大利用率的高效程序,使空闲时间保持最低,从而采纳更多的苦求。

通常Windows是1000个左右,Linux是2000个左右。

10道python面试题

1、python下多线程的限制以及多进程中传递参数的方式

python多线程有个全局解释器锁(globalinterpreterlock),这个锁的意思是任一时间只能有一个线程使用解释器,跟单cpu跑多个程序一个意思,大家都是轮着用的,这叫“并发”,不是“并行”。

多进程间共享数据,可以使用multiprocessing.Value和multiprocessing.Array。

2、什么是lambda函数?它有什么好处?

lambda函数是一个可以接收任意多个参数(包括可选参数)并且返回单个表达式值的函数。lambda函数不能包含命令,它们所包含的表达式不能超过一个。不要试图向lambda函数中塞入太多的东西;假设你需要更繁杂的东西,理应定义一个普遍函数,然后想让它多长就多长。

3、Python是如何举行类型转换的?

①函数描述

②int(x[,base])将x转换为一个整数

③long(x[,base])将x转换为一个长整数

④float(x)将x转换到一个浮点数

⑤complex(real[,imag])创造一个复数

⑥str(x)将对象x转换为字符串

⑦repr(x)将对象x转换为表达式字符串

⑧eval(str)用来计算在字符串中的有效Python表达式,并返回一个对象

⑨tuple(s)将序列s转换为一个元组

⑩list(s)将序列s转换为一个列表

⑪chr(x)将一个整数转换为一个字符

⑫unichr(x)将一个整数转换为Unicode字符

⑬ord(x)将一个字符转换为它的整数值

⑭hex(x)将一个整数转换为一个十六进制字符串

⑮oct(x)将一个整数转换为一个八进制字符串

4、python多线程与多进程的识别

在UNIX平台上,当某个进程终结之后,该进程需要被其父进程调用wait,否那么进程成为僵尸进程(Zombie)。所以,有必要对每个Process对象调用join()方法(实际上等同于wait)。对于多线程来说,由于只有一个进程,所以不存在此必要性。

多进程理应制止共享资源。在多线程中,我们可以对比轻易地共享资源,譬如使用全局变量或者传递参数。在多进程处境下,由于每个进程有自己独立的内存空间,以上方法并不适合。此时我们可以通过共享内存和Manager的方法来共享资源。但这样做提高了程序的繁杂度,并由于同步的需要而降低了程序的效率。

5、Python里面如何拷贝一个对象?

标准库中的copy模块供给了两个方法来实现拷贝。一个方法是copy,它返回和参数包含内容一样的对象。使用deepcopy方法,对象中的属性也被复制。

6、介绍一下except的用法和作用?

Python的except用来捕获全体奇怪,由于Python里面的每次错误都会抛出一个奇怪,所以每个程序的错误都被当作一个运行时错误。

7、Python中pass语句的作用是什么?

pass语句什么也不做,一般作为占位符或者创造占位程序,pass语句不会执行任何操作。

8、Python解释器种类以及特点?

Python是一门解释器语言,代码想运行,务必通过解释器执行,Python存在多种解释器,分别基于不同语言开发,每个解释器有不同的特点,但都能正常运行Python代码,以下是常用的五种Python解释器:

CPython:当从Python官方网站下载并安装好Python2.7后,就直接获得了一个官方版本的解释器:Cpython,这个解释器是用C语言开发的,所以叫CPython,在命名行下运行python,就是启动CPython解释器,CPython是使用最广的Python解释器。

IPython:IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所巩固,但是执行Pyth

温馨提示

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

评论

0/150

提交评论