50个常见的WebSphere面试问题和答案

一套IBM面试问题的集合,通常在面试中问到,适用于新手到有经验的人。

我经常收到一个请求,要求我列出IBM WebSphere Application Server的面试问题列表,所以我知道你们的要求。

WebSphere是IBM的应用服务器(中间件产品),在中间件市场份额中占据第一位。

WebSphere是一个产品套件,而本文仅涉及WebSphere Application Server。

如果你想知道WebSphere套件下有哪些产品。

  • WebSphere Portal
  • WebSphere DataPower
  • WebSphere Cast Iron
  • WebSphere eXtreme
  • WebSphere Front Office
  • WebSphere Message Broker
  • WebSphere MQ
  • WebSphere Real Time
  • WebSphere Remote Server
  • WebSphere Virtual Enterprise
  • WebSphere community
  • 还有很多…

准备好回答这些问题了吗?

1. 什么是Ripplestart?

Ripplestart是重启WAS集群的过程。它首先停止JVM,然后重新启动它。通过执行ripplestart,你可以确保每次只有一个JVM处于停机状态,因此应用程序没有停机时间。

例如:如果你的集群中有5个JVM,在执行ripplestart时,它将停止JVM1,并在停止集群中的其他JVM之前重新启动JVM1。

2. 如果服务器上的JVM占用100%的CPU和内存,你会怎么做?

首先,确定哪个JVM的利用率很高。为了进行调查,请记录标识的JVM,并重新启动该JVM以解决CPU/内存过热的问题。

3. 什么是节点同步?

IBM WAS将整个配置存储在一个称为“Master repository”的中央存储库中,每个节点都有一个本地存储库。

当你通过DMGR对节点进行任何更改时,必须同步它,以便将配置推送到相应的节点服务器。

同步始终从Master repository到本地存储库进行,因此是单向通信。

4. 如果DMGR宕机,应用程序能否正常运行?

是的,DMGR宕机不会影响现有的运行中应用程序。但是,如果你需要通过DMGR进行任何更改或部署,那么将受到影响。

5. 如何在WebSphere中部署应用程序?

有三种可能的部署方式。

  1. 热部署 – 将应用程序文件复制到应用程序目录中。这对于非生产环境是可行的,但不建议用于生产环境。
  2. DMGR – 你可以通过DMGR部署应用程序,方法是进入应用程序>>新建应用程序
  3. 脚本 – 你可以编写wsadmin脚本或ant任务来部署应用程序。

6. 即使我手动停止/杀死进程,为什么JVM会自动启动?

可能有两种情况。

启用了JVM的自动重启,这是默认设置,在JVM>>监视策略下可用。

如果不是上述情况,可能有一个cron脚本,它检查进程并重新启动。

7. 你可以部署哪些文件类型到WebSphere?

你可以通过DMGR控制台或脚本部署WAR、EAR、JAR或SAR模块。

8. 什么是虚拟主机?

Virtual host在单个应用程序上包含多个URL(基于IP或FQDN),并通过WAS管理控制台进行配置。

为了允许应用程序在特定的URL上访问,你必须在虚拟主机中拥有此URL,并将其与应用程序关联起来。

9. 如何处理来自客户端的应用程序运行缓慢的投诉?

应用程序运行缓慢可能是由于各种原因引起的,必须确定是WebSphere还是其他组件引起的。为了隔离问题,你可以检查以下内容。

  • 所有用户都有这种缓慢吗?
  • 整个应用程序是缓慢的还是只有特定功能是缓慢的?
  • 直接访问JVM URL(绕过Web服务器)的情况如何?

如果在JVM中发现缓慢,则可以拍摄转储并检查日志以找出原因。检查是否有任何发布,缓慢就在发布后。

10. 如何在不停止DMGR的情况下备份WAS配置?

转到DMGR配置文件和bin文件夹

执行./backupConfig.sh -nostop进行备份

11. WAS的默认端口是多少?

HTTP的默认端口是9080,HTTPS的默认端口是9443。查看default port page了解更多信息。

12. 有哪些可用的WebSphere版本?

  • WAS-网络部署
  • WAS-开发者
  • WAS-z/OS
  • WAS-Hypervisor
  • WAS-Express
  • WAS-Base
  • WAS-Liberty核心

13. 如何生成和传播插件?

  • 登录WAS管理控制台
  • 转到服务器>>Web服务器
  • 选择服务器,然后点击“生成”和“传播”按钮。

14. 您遇到过哪些常见问题?

您应该始终诚实地了解自己的专业知识,但是,为了给您一个概念:

  • 未定义虚拟主机
  • 日志不移动
  • 内部服务器错误
  • OutOfMemory异常
  • 缓慢
  • JVM无法启动
  • CPU/内存/磁盘利用率过高

15. 如何检查已安装的WAS版本?

  • 转到配置文件和bin文件夹
  • 执行./versionInfo.sh

16. 如何确定JVM是否启动?

有多种方法可以确认此事。

  • 您是否有任何监控工具,如果有,请检查是否有警报或当前状态
  • 登录服务器并通过ps -ef | grep jvmname查找JVM。
  • 检查是否可以访问JVM URL
  • 检查是否可以使用telnet访问JVM URL和端口
  • 检查服务器上是否侦听JVM端口
  • 使用serverStatus.sh -all命令查看正在运行的内容

选择对您来说最容易的方法。

17. 告诉我一些WebSphere生成的日志文件。

  • SystemOut.log
  • SystemError.log
  • native_stdout.log
  • native_stderr.log

18. 如何生成线程转储?

有三种可能的方法可以生成线程转储。

  1. 通过DMGR控制台:转到故障排除>>选择JVM,然后点击Java core
  2. Kill -3 JVM的PID
  3. 使用wsadmin.sh作为explained here

19. 垂直集群和水平集群有什么区别?

垂直集群的成员位于同一节点或服务器上,而水平集群横跨单元中的多个节点和服务器。

20. 什么是垃圾回收?

垃圾回收是一种内存管理过程,可以自动释放程序不再使用的对象。

21. 如何禁用WebSphere中的安全性?

您可以通过在wsadmin.sh中执行“securityoff”来进行关闭。关闭安全性后,必须重新启动DMGR。

22. 如何启用详细垃圾回收?

默认情况下,不启用详细垃圾回收,如果需要,可以进行以下操作:

  • 服务器>>服务器类型>>WebSphere应用服务器
  • 选择JVM>>“Java和进程管理”下的进程定义
  • 在“附加属性”下的“Java虚拟机”中选中“verbose garbage collection”的复选框。

23. 如何在服务器重新启动时使WebSphere自动启动?

WebSphere会自动生成启动脚本放在/etc/init.d中,以确保在重新启动时启动。

然而,如果由于某种原因脚本不存在,则可以创建一个并放在/etc/init.d下,并按下面的方式启用它。

chkconfig -- add WebSphere #脚本文件名
chkconfig WebSphere on

详细指南请参考how to auto-start services on boot

24. 如何增加JVM的堆大小?

  • 登录管理控制台
  • 进入服务器 >> 服务器类型 >> WebSphere应用服务器
  • 选择JVM >> 进程定义 >> Java虚拟机

您可以在此处输入初始堆大小和最大堆大小。

25. 当nodeagent宕机时,您能够同步节点吗?

当然可以,同步需要停止nodeagent。

26. 停止和启动DMGR、Nodeagent和JVM的命令是什么?

停止:

  • JVM – stopServer.sh JVM名称
  • Nodeagent – stopNode.sh
  • DMGR – stopManager.sh

启动:

  • JVM – startServer.sh JVM名称
  • Nodeagent – startNode.sh
  • DMGR – startManager.sh

27. WAS 8.5.5有哪些新功能?

主要有以下几点:

  • 支持Java SE 7
  • HPEL日志记录
  • 内置健康管理
  • Liberty配置文件
  • 智能路由
  • 动态集群
  • JDBC 4.1集群
  • Web 2.0支持

您还可以参考detailed information here

28. 节点联合(federation)是什么意思?

在WebSphere中,节点联合表示将节点添加到Cell中。这是通过addNode.sh命令完成的,根据节点的大小,可能需要几分钟的时间。

29. 什么是FFDC?

FFDC(首次故障数据捕获)可以捕获WebSphere运行时的事件和错误。FFDC数据有助于分析问题,如果我们向IBM支持部门寻求帮助,他们通常会要求我们提供这些数据。

30. 您能解码WebSphere的密钥库XOR吗?

是的,您可以使用在线工具进行解码:http://strelitzia.net/wasXORdecoder/wasXORdecoder.html

31. WebSphere的默认脚本语言是JACL还是Jython?

JACL是WebSphere的默认脚本语言。

32. 如何在WebSphere 8.5.x中应用修复包?

可以使用IBM IM来应用修复包。详细的说明请参考how to apply fix pack guide

33. 您支持哪些环境?

诚实地解释您支持的环境。您可能支持以下环境:

  • 开发
  • CIT
  • SIT
  • UAT
  • DEMO
  • 预生产
  • 生产
  • 分期
  • QA

34. 您的Web服务器托管在哪里?

再次解释您支持的应用程序架构。然而,在面向互联网的典型生产环境中,Web服务器将位于DMZ,应用程序服务器将位于核心网络中。

这意味着在Web服务器与应用程序服务器之间的防火墙上必须允许必要的端口。

35. 什么是会话亲和性?

会话亲和性是持久会话的另一个说法。具有会话亲和性意味着请求与单个JVM绑定。这意味着返回的请求将始终路由到同一个JVM。

36. 您可以在单个JVM中部署多个应用程序吗?

是的,只要每个应用程序的上下文根是唯一的,就可以在单个JVM上部署多个应用程序。

37. 您在Websphere中使用哪个数据库?

告诉他们您使用的数据库。大多数组织使用Oracle数据库,但WebSphere也支持以下数据库:

  • DB2
  • Oracle数据库
  • Microsoft SQL Server
  • Sybase

38. 如何将Web服务器连接到WAS?

有两种方法可以连接到WAS。

  1. 使用插件 – 这是在Web服务器上安装WAS插件的推荐方法。
  2. 使用ProxyPass – 如果您使用Apache并且不想使用插件,则可以通过ProxyPass指令连接到WAS JVM。

39. 在WAS前面是否需要Web服务器?

建议在WAS前面部署支持的Web服务器,以提供更好的安全性、性能和维护性。

40. 什么是细胞?

细胞是一个逻辑节点组的集合,可以有一个或多个节点;所有的集群都由单个管理控制台进行管理。

41. 管理控制台的默认会话超时时间是多久?

30分钟

42. 什么是修订包?

修订包是由IBM提供的一系列补丁。它可能包含错误修复、安全补丁和性能改进。

43. WebSphere支持哪些注册表或仓库?

  • 联合仓库
  • 本地操作系统
  • 独立LDAP注册表
  • 独立自定义注册表

44. 什么是共享库?

建议创建一个共享库以减少重复的库文件。单个共享库可以被细胞内的多个应用程序使用。

45. 什么是上下文根?

每个应用程序的上下文根在细胞内应是唯一的。它在部署描述符中定义,用于访问应用程序。

例如:如果应用程序A的上下文根称为“retail”,那么可以通过 http://servername:port/retail 访问该应用程序。

46. WAS插件配置文件的名称是什么?

WebSphere插件配置名称是 plugin-cfg.xml

47. 如何更改WebContainer线程池大小?

可以通过进入 JVM >> 线程池 >> WebContainer 来更改WebContainer线程池。

48. 是否可以更改已部署应用程序的上下文根?

是的,可以做到。通过管理控制台进行此操作,进入应用程序并点击“Web模块的上下文根”以更改上下文根。

更改后必须重新启动JVM。

49. 如何更改配置文件使用的Java SDK?

bin文件夹中有一个名为managesdk.sh的脚本,可以用于更改SDK。

50. 什么是PMT?

PMT(配置文件管理工具)是一个GUI工具,用于创建和管理WebSphere配置文件。

我希望以上内容能帮助您获得WebSphere管理员的工作。如果您需要简历和面试方面的帮助,请查看此 tutorial

类似文章