当前位置:才高文秘网>范文大全 > 公文范文 > 计算机方向面试题目有哪些,菁选2篇

计算机方向面试题目有哪些,菁选2篇

时间:2023-02-16 18:15:06 公文范文 来源:网友投稿

计算机方向的面试题目有哪些1  1、什么是ActiveMQ?  activeMQ是一种开源的,实现了JMS1.1规范的,面向消息(MOM)的中间件,为应用程序提供高效的、可扩展的、稳定的和安全的企业下面是小编为大家整理的计算机方向面试题目有哪些,菁选2篇,供大家参考。

计算机方向面试题目有哪些,菁选2篇

计算机方向的面试题目有哪些1

  1、什么是ActiveMQ?

  activeMQ是一种开源的,实现了JMS1.1规范的,面向消息(MOM)的中间件,为应用程序提供高效的、可扩展的、稳定的和安全的企业级消息通信。

  2、Activemq的瓶颈值

  根据网上一般评测文档上来看,每秒的消息吞吐在20xx以上,acticemq也可以集群化部署,也是使用zookeeper来搭建。

  3、ActiveMQ服务器宕机怎么办?

  这得从ActiveMQ的储存机制说起。在通常的情况下,非持久化消息是存储在内存中的,持久化消息是存储在文件中的,它们的最大限制在配置文件的节点中配置。

  但是,在非持久化消息堆积到一定程度,内存告急的时候,ActiveMQ会将内存中的非持久化消息写入临时文件中,以腾出内存。虽然都保存到了文件里,但它和持久化消息的区别是,重启后持久化消息会从文件中恢复,非持久化的临时文件会直接删除。

  那如果文件增大到达了配置中的最大限制的时候会发生什么?我做了以下实验:

  设置2G左右的持久化文件限制,大量生产持久化消息直到文件达到最大限制,此时生产者阻塞,但消费者可正常连接并消费消息,等消息消费掉一部分,文件删除又腾出空间之后,生产者又可继续发送消息,服务自动恢复正常。

  设置2G左右的临时文件限制,大量生产非持久化消息并写入临时文件,在达到最大限制时,生产者阻塞,消费者可正常连接但不能消费消息,或者原本慢速消费的消费者,消费突然停止。整个系统可连接,但是无法提供服务,就这样挂了。

  具体原因不详,解决方案:尽量不要用非持久化消息,非要用的话,将临时文件限制尽可能的调大。

  4、AcitveMQ的作用、原理?(生产者、消费者、p2p、订阅实现流程)

  Activemq的作用就是系统之间进行通信。当然可以使用其他方式进行系统间通信,如果使用Activemq的话可以对系统之间的调用进行解耦,实现系统间的异步通信。原理就是生产者生产消息,把消息发送给activemq。Activemq接收到消息,然后查看有多少个消费者,然后把消息转发给消费者,此过程中生产者无需参与。消费者接收到消息后做相应的处理和生产者没有任何关系

  5、activemq在项目中如何应用的

  Activemq在项目中主要是完成系统之间通信,并且将系统之间的调用进行解耦。例如在添加、修改商品信息后,需要将商品信息同步到索引库、同步缓存中的数据以及生成静态页面一系列操作。

  在此场景下就可以使用activemq。一旦后台对商品信息进行修改后,就向activemq发送一条消息,然后通过activemq将消息发送给消息的消费端,消费端接收到消息可以进行相应的业务处理。

  7、rabbitmq如何实现集群高可用?

  集群是保证服务可靠性的一种方式,同时可以通过水*扩展以提升消息吞吐能力。RabbitMQ是用分布式程序设计语言erlang开发的,所以天生就支持集群。接下来,将介绍RabbitMQ分布式消息处理方式、集群模式、节点类型,并动手搭建一个高可用集群环境,最后通过java程序来验证集群的高可用性。

  RabbitMQ分布式的消息处理方式有以下三种:

  (1)Clustering:不支持跨网段,各节点需运行同版本的Erlang和RabbitMQ,应用于同网段局域网。

  (2)Federation:允许单台服务器上的Exchange或Queue接收发布到另一台服务器上Exchange或Queue的消息,应用于广域网。

  (3)Shovel:与Federation类似,但工作在更低层次。

  RabbitMQ对网络延迟很敏感,在LAN环境建议使用clustering方式;在WAN环境中,则使用Federation或Shovel。我们*时说的RabbitMQ集群,说的就是clustering方式,它是RabbitMQ内嵌的一种消息处理方式,而Federation或Shovel则是以plugin形式存在。

  8、丢消息怎么办?

  这得从java的java.net.SocketException异常说起。简单点说就是当网络发送方发送一堆数据,然后调用close关闭连接之后。这些发送的数据都在接收者的缓存里,接收者如果调用read方法仍旧能从缓存中读取这些数据,尽管对方已经关闭了连接。

  但是当接收者尝试发送数据时,由于此时连接已关闭,所以会发生异常,这个很好理解。不过需要注意的是,当发生SocketException后,原本缓存区中数据也作废了,此时接收者再次调用read方法去读取缓存中的数据,就会报Software caused connection abort:recv failed错误。

  通过抓包得知,ActiveMQ会每隔10秒发送一个心跳包,这个心跳包是服务器发送给客户端的,用来判断客户端死没死。如果你看过上面第一条,就会知道非持久化消息堆积到一定程度会写到文件里,这个写的`过程会阻塞所有动作,而且会持续20到30秒,并且随着内存的增大而增大。

  当客户端发完消息调用connection.close()时,会期待服务器对于关闭连接的回答,如果超过15秒没回答就直接调用socket层的close关闭tcp连接了。这时客户端发出的消息其实还在服务器的缓存里等待处理,不过由于服务器心跳包的设置,导致发生了java.net.SocketException异常,把缓存里的数据作废了,没处理的消息全部丢失。

  解决方案:用持久化消息,或者非持久化消息及时处理不要堆积,或者启动事务,启动事务后,commit()方法会负责任的等待服务器的返回,也就不会关闭连接导致消息丢失了。

计算机方向的面试题目有哪些2

  一、什么是Tomcat?

  Tomcat简单的说就是一个运行JAVA的网络服务器,底层是Socket的一个程序,它也是JSP和Serlvet的一个容器。

  二、tomcat结构目录有哪些?

  ①bin:启动和关闭tomcat的bat文件。

  ②conf:配置文件。

  ③server.xml该文件用于配置server相关的信息,比如tomcat启动的端口号,配置主机(Host)。

  ④web.xml文件配置与web应用(web应用相当于一个web站点)

  ⑤tomcat—user。xml配置用户名密码和相关权限。

  ⑥lib:该目录放置运行tomcat运行需要的jar包。

  ⑦logs:存放日志,当我们需要查看日志的时候,可以查询信息。

  ⑧webapps:放置我们的web应用。

  ⑨work工作目录:该目录用于存放jsp被访问后生成对应的server文件和.class文件。

  三、如何配置Tomcat虚拟目录?

  1、在server.xml中的节点下添加如下代码。path表示的是访问时输入的web项目名,docBase表示的是站点目录的绝对路径。

  2、进入到confCatalinalocalhost文件下,创建一个xml文件,该文件的名字就是站点的名字。

  四、Tomcat体系结构是怎样的?

  浏览器—>tomcat server—>service—>connector—>engine(引擎)—>host(主机)—>web应用。

  五、Web请求在Tomcat请求中的请求流程是怎么样的?

  ①浏览器输入URL地址;

  ②查询本机hosts文件寻找IP;

  ③查询DNS服务器寻找IP;

  ④向该IP发送Http请求;

  ⑤Tomcat容器解析主机名;

  ⑥Tomcat容器解析Web应用;

  ⑦Tomcat容器解析资源名称;

  ⑧Tomcat容器获取资源;

  ⑨Tomcat响应浏览器。

  六、如何在tomcat集群中实现Session共享

  Apache集群实现Tomcat的Session共享配置其实很简单,在Tomcat自带的文档中有详细的说明(/docs/cluster—howto.html),只不过是英语的,所以联合下面根据说下怎么配置吧:

  1、既然是集群肯定要多准备几个Tomcat来模拟,比如分别为Tomcat01、Tomcat02、Tomcat03。

  如果各Tomcat程序放在不同的机器上,那么就不会有端口的冲突。如果是放在同一台机器上的话,那就简单改几个端口,防止端口占用造成的冲突。打开conf文件夹中的server.xml文件,需要修改的端口有:

  1、

  2、

  3、

  以上port需要修改,至于修改成什么样子,看你自己了,只要不出现端口冲突就可以了,要保证各个Tomcat实例间没有端口冲突。

  七、tomcat有哪些Connector?

  Tomcat的Web服务器连接器支持两种协议:AJP和HTTP,它们均定义了以二进制格式在Web服务器和Tomcat之间进行数据传输,并提供相应的控制命令。

  AJP(Apache JServ Protocol)协议:目前正在使用的AJP协议的版本是通过JK和JK2连接器提供支持的AJP13,它基于二进制的格式在Web服务器和Tomcat之间传输数据,而此前的版本AJP10和AJP11则使用文本格式传输数据。

  HTTP协议:诚如其名称所表示,其是使用HTTP或HTTPS协议在Web服务器和Tomcat之间建立通信,此时,Tomcat就是一个完全功能的HTTP服务器,它需要监听在某端口上以接收来自于商前服务器的请求。

  八、tomcat的Valve的作用是什么?

  Valve类似于过滤器,它可以工作于Engine和Host/Context之间、Host和Context之间以及Context和Web应用程序的某资源之间。一个容器内可以建立多个Valve,而且Valve定义的次序也决定了它们生效的次序。

  九、Webserver和Application Server的区别是什么?

  最大区别,WebServer一般仅仅指Web(如servlet,jsp)的应用服务器,ApplicationServer不仅可以是Web,还可以是Ejb等其它的应用服务器。

  web server可以是application server的一部分,也可以是单独存在。

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

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

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

  3)打开server.xml文件;

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

  port=“8080”改成你想要的端口

  十一、Tomcat有几种部署方式?

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

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

  3)通过Catalina来进行配置:进入到confCatalinalocalhost文件下,创建一个xml文件,该文件的名字就是站点的名字。编写XML的方式来进行设置。

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

  当容器启动时,会读取在webapps目录下所有的web应用中的web.xml文件,然后对xml文件进行解析,并读取servlet注册信息。然后,将每个应用中注册的servlet类都进行加载,并通过反射的方式实例化。(有时候也是在第一次请求时实例化)在servlet注册时加上如果为正数,则在一开始就实例化,如果不写或为负数,则第一次请求实例化。

  十三、Tomcat顶层架构小结

  (1)Tomcat中只有一个Server,一个Server可以有多个Service,一个Service可以有多个Connector和一个Container;

  (2)Server掌管着整个Tomcat的生死大权;

  (4)Service是对外提供服务的;

  (5)Connector用于接受请求并将请求封装成Request和Response来具体处理;

  (6)Container用于封装和管理Servlet,以及具体处理request请求。

推荐访问:题目 面试 方向 计算机方向面试题目有哪些 菁选2篇 计算机方向的面试题目有哪些1 计算机方向的面试题目有哪些100题 计算机专业面试题目及答案 计算机相关专业面试题

版权所有:才高文秘网 2017-2024 未经授权禁止复制或建立镜像[才高文秘网]所有资源完全免费共享

Powered by 才高文秘网 © All Rights Reserved.。备案号:沪ICP备17045173号-3