Redian新闻
>
JAVA interview 经常被问如何debug, trouble shooting.
avatar
JAVA interview 经常被问如何debug, trouble shooting.# JobHunting - 待字闺中
j*y
1
我一JAVA新手, 10 次有5 次被问有没有 debug, trouble-shooting 的经验,用的什么
工具。 说实话我除了看 log file, Exception 外就是 google 了。最多有时候在 IDE
里面设个 break point.
大牛都是怎么弄的呢?
avatar
r*y
2
visualvm
avatar
s*7
3
老手也是看log, google, debug. production一般哪有那些个profile工具, 只能看
log。
avatar
w*z
4
jconsole
take heap dump
take thread dump

IDE

【在 j***y 的大作中提到】
: 我一JAVA新手, 10 次有5 次被问有没有 debug, trouble-shooting 的经验,用的什么
: 工具。 说实话我除了看 log file, Exception 外就是 google 了。最多有时候在 IDE
: 里面设个 break point.
: 大牛都是怎么弄的呢?

avatar
j*y
5
这个好像靠谱啊,我就平时就用 Spring framework, Eclipse。 从来就没有用到过这
么高大上的东东。

【在 w**z 的大作中提到】
: jconsole
: take heap dump
: take thread dump
:
: IDE

avatar
a*u
6
debug在我看来就是找到问题在哪,repro问题,后面什么断点还是print都随便
avatar
z*e
7
jmx用来监控app的情况
用jconsole可以直接接上
jconsole就在jdk的文件夹里面
每一个jdk都有jconsole
如果是开发中debug,用ide可以做很多事
认真区分f789的区别
thread dump如果用了thread管理工具,vert.x, tomcat之类的
应该不太可能用得上
然后log很重要,unit test要做好
最后就是system之间的问题了
这个经验就是不要用各种mq,全部用json,会容易很多
你要想办法能够监听每一个msg,vert.x的shell service非常好用
现在系统越来越大,这些问题越来越多滴给到各个后台的猴子手中
光从无到有做几个网站,没啥意义
avatar
z*e
8
一般问题都不在单机上,问题多数出在系统和系统之间
尤其是涉及到网络的时候,这就需要你对每一个msg做监控
比如某一个node往另外一个node发msg,这个msg是否被记录在log中?
这个时候如果是serializable object的话,就很难看出来了,用json容易很多
jmx和jconsole,就盯着资源使用情况
自己可以用jmx做扩展,比如gc一次,你就在log里面塞入一条记录酱紫
然后jvm本身有很多工具,比如jstat可以用
然后ide也有很多工具可以用
然后你自己写的软件,spring偏简单了,如果是ejb的话
ejb contaienr本身有很多ui可以监控
tomcat也有,spring的话,用aop
vert.x的话,用shell service
总之不管怎样,你要想办法对你系统的每一步都能够看到系统在干嘛
然后做详细的log,最后查起来就方便
另外unit test要做好,test很重要,functional的问题一般都是test没覆盖到
non-functional的问题出了,一般都好交代,可以变出各种理由来
但是functional问题出出来,那就影响kpi了,尤其是涉及到钱的时候
functional问题改起来极为麻烦,要提交数据修改什么
avatar
e*a
9
Now junior-level candidates are often asked senior-level interview questions
.
avatar
b*5
10
为什么protobuf不如json更popular? 个人觉得protobuf更加compact,更加容易
backward compatible。。。
avatar
w*z
11
protobuf 比json 快很多,但用起来麻烦一点。

【在 b**********5 的大作中提到】
: 为什么protobuf不如json更popular? 个人觉得protobuf更加compact,更加容易
: backward compatible。。。

avatar
y*u
12
主要看log还有gc.log
eclipse可以remote debug
avatar
g*g
13
因为大多数应用快几个ms没有意义,容易debug容易测试意义很大。

【在 b**********5 的大作中提到】
: 为什么protobuf不如json更popular? 个人觉得protobuf更加compact,更加容易
: backward compatible。。。

avatar
y*u
14
protobuf msg收到后,解出来直接写log,跟json也没差;而且方便加密。

【在 g*****g 的大作中提到】
: 因为大多数应用快几个ms没有意义,容易debug容易测试意义很大。
avatar
y*u
15
protobuf msg收到后,解出来直接写log,跟json也没差;而且方便加密。

【在 g*****g 的大作中提到】
: 因为大多数应用快几个ms没有意义,容易debug容易测试意义很大。
avatar
y*u
16
protobuf msg收到后,解出来直接写log,跟json也没差;而且方便加密。

【在 g*****g 的大作中提到】
: 因为大多数应用快几个ms没有意义,容易debug容易测试意义很大。
avatar
y*u
17
protobuf msg收到后,解出来直接写log,跟json也没差;而且方便加密。

【在 g*****g 的大作中提到】
: 因为大多数应用快几个ms没有意义,容易debug容易测试意义很大。
avatar
z*e
18

因为不便于测试,json你直接开个浏览器或者curl就可以测了

【在 y******u 的大作中提到】
: protobuf msg收到后,解出来直接写log,跟json也没差;而且方便加密。
avatar
y*u
19
protobuf msg收到后,解出来直接写log,跟json也没差;而且方便加密。

【在 g*****g 的大作中提到】
: 因为大多数应用快几个ms没有意义,容易debug容易测试意义很大。
avatar
y*u
20
protobuf msg收到后,解出来直接写log,跟json也没差;而且方便加密。

【在 g*****g 的大作中提到】
: 因为大多数应用快几个ms没有意义,容易debug容易测试意义很大。
avatar
y*u
21
protobuf msg收到后,解出来直接写log,跟json也没差;而且方便加密。

【在 g*****g 的大作中提到】
: 因为大多数应用快几个ms没有意义,容易debug容易测试意义很大。
avatar
s*r
22
这么多帖子,还每一个提到correlation id,session context, log4j的pattern
layout,MDC这些东东
你们真是server端的码农吗
avatar
y*u
23
你就说csshx开过最多多少线上host吧

【在 s*****r 的大作中提到】
: 这么多帖子,还每一个提到correlation id,session context, log4j的pattern
: layout,MDC这些东东
: 你们真是server端的码农吗

avatar
h*c
24
系统架构简图超过十个结点,随便看就有环状结构,
技术主管天天在scale up
立刻发简历,准备全组被雷

IDE

【在 j***y 的大作中提到】
: 我一JAVA新手, 10 次有5 次被问有没有 debug, trouble-shooting 的经验,用的什么
: 工具。 说实话我除了看 log file, Exception 外就是 google 了。最多有时候在 IDE
: 里面设个 break point.
: 大牛都是怎么弄的呢?

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。