2013-07-21 31 views
0

在最近的一次求职面试中,我被问到一个J2EE调试问题。问题如下:J2EE Java服务器端错误调试面试

“您没有从服务器获得与预期相同的数据,您如何调试它?”

我该怎么回答这个会让面试官高兴的问题?

请建议....

+0

**您没有从服务器获得与预期相同的数据如何调试它?**请您详细说明这一点吗? – sanbhat

+0

请解释问题。你一定要向面试官提出更多的解释才能得到最好的答案! **与您的服务器相同的数据**您应该在哪里获取数据,服务器等? – NINCOMPOOP

+0

其实这就是他所要求的全部!看起来他想知道如何调试......我不确定他期待什么! – user2539625

回答

0

在我的头顶,通常你会

  • 核查请求,并将其与API比较 - 被请求被正确
  • 检查完成记录服务器上的任何问题
  • 确认服务器应用程序的版本与预期的版本匹配
  • 检查数据库数据状态
  • 如果还有其他问题,请尝试在本地或在较低的环境中重现问题,或者使用调试程序遍历服务器应用程序执行路径。增加日志级别或者连接到调试接口也可能是相关的。
0

当您不得不调试代码到服务器时,有一个关于如何调试代码的常见方法。你看到服务器日志。现在,如果您找不到任何错误,则必须在每一步中查看API返回的内容。如果您没有记录每一步,请将log.debug("Some text that means something");并重新运行。如果有不寻常的事情,那么你必须检查具体的步骤。

0

这个问题太笼统了,开辟了一条途径,让你用问题从字面上轰击面试官,这可能是他期望你做的。

通常当sh。击中我想知道的粉丝:用户是否收到任何数据?如果没有,应用程序日志,服务器日志和数据库日志是我看的地方。我们使用的一些应用程序获得了应用程序运行的磁盘上的应用程序日志,一些使用基于数据库的日志,一些使用可以通过服务器上的管理控制台访问的默认日志(例如Glassfish)。

。如果用户收到的不正确的数据,我开始通过应用程序跟踪数据是如何“制造”,这通常意味着通过几个数据库查询和等在那里我试图确定发生了什么事情要去另一方面。之后,我比较我期望的结果和用户收到的结果,并根据差异我决定哪里出了问题。

但是,嘿,这个问题在这个环境中过于笼统,所以你要么让面试官指定问题,要么为他创建自己的场景。