V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
alexgor
V2EX  ›  问与答

昨天面试的问题,如果是你怎么答

  •  
  •   alexgor · Jul 29, 2017 · 4540 views
    This topic created in 3196 days ago, the information mentioned may be changed or developed.

    有几台服务器,发现其中两台响应接口特别慢,怎么检测。 我说了是不是集群和消息分发机制的。他说没有,已经知道了哪些特别慢,就问检测步骤是怎样。我说了利用工具跟踪请求响应。看系统日志,分析 jvm 日志自以及检查数据库是否有瓶颈。他好像不太满意,比较郁闷啊,各位觉得应该怎么答呢。

    23 replies    2017-07-29 16:27:27 +08:00
    RIcter
        1
    RIcter  
       Jul 29, 2017 via iPhone
    这种问题我也不会回答,求正解。
    hienchu
        2
    hienchu  
       Jul 29, 2017 via iPhone
    我感觉他应该是想考你怎么在生产环境上 troubleshooting
    ezreal
        3
    ezreal  
       Jul 29, 2017
    有全链路跟踪系统就好了
    kkzxak47
        4
    kkzxak47  
       Jul 29, 2017 via Android
    先找慢的和其他的不同之处嘛
    alqaz
        5
    alqaz  
       Jul 29, 2017 via Android   ❤️ 1
    有可能是他前面工作中碰到的情况,他花了不少时间解决,然后拿出来做面试题,如果你没有碰到这个情况,当然只能靠猜,没猜出来也正常。
    scys
        6
    scys  
       Jul 29, 2017
    感觉没有沟通清楚,只是响应接口问题?其他详细信息?
    alexgor
        7
    alexgor  
    OP
       Jul 29, 2017 via Android
    @scys 没有,越问他他就越不耐烦的,还会认为你在逃避问题。面试很多都这样
    baiyun888
        8
    baiyun888  
       Jul 29, 2017
    有些面试官可能只懂一种解决方法,所以觉得自己是对的,你即使说出自己的答案他也会觉得不对,因为他对你的答案不了解
    这种情况应该知道集中解决办法就罗列几种,让他觉得你博学,经验丰富
    alexgor
        9
    alexgor  
    OP
       Jul 29, 2017 via Android
    @hienchu 有道理,这种问题他心中估计也没正解,就想验证我有没这经验。
    snnn
        10
    snnn  
       Jul 29, 2017 via Android
    先看系统有没有异常,如 cpu 过热,swap in/out。然后了解业务细节,每个请求具体执行了哪些操作,看具体慢在哪一步了。
    snnn
        11
    snnn  
       Jul 29, 2017 via Android
    一般来讲,这种事情不用急着解决。先重启,不行就换机器再说。换下来之后慢慢查。以不影响线上为第一原则
    shierji
        12
    shierji  
       Jul 29, 2017 via Android
    如果我的话 我觉得先看看那两台自身的负载啊 看看瓶颈在 cpu 还是 io 还是 ram 上 再根据系统的情况去排查下
    uxstone
        13
    uxstone  
       Jul 29, 2017
    关机重启试试 (滑稽)
    22too
        14
    22too  
       Jul 29, 2017
    我遇到过这个问题:mysql 响应特别慢,不是 mysql 的问题,java 进程占用 cpu 严重,超过 800%,导致整个服务器都反映过慢。最后 kill java 进程,问题解决。
    Finest
        15
    Finest  
       Jul 29, 2017
    机器配置差异
    机器负载
    网络情况
    请求量是否有异常
    进程状态
    bzzhou
        16
    bzzhou  
       Jul 29, 2017
    这个不是第一时间看系统各个指标么

    load 是否正常,cpu 是否正常,io 是否正常,网络是否正常,dmesg 是否异常日志( TIME_WAIT 是否过多导致无法接受新连接)等等么

    如果系统各方面指标都正常,然后就通过日志查看具体耗时主要是消耗在哪里,然后一步一步往下走就可以了
    0915240
        17
    0915240  
       Jul 29, 2017 via iPhone
    先瓶颈。

    从调用链角度找瓶颈。

    看系统负载,应用,存储服务的性能指标。
    rason
        18
    rason  
       Jul 29, 2017 via iPhone
    抓包
    ytmsdy
        19
    ytmsdy  
       Jul 29, 2017 via iPhone
    机器先下线,重新做系统。
    测试系统的 cup io 还有网络。
    如果没问题,重新部署系统,再上线,看延时情况。
    查看系统状态
    eyp82
        20
    eyp82  
       Jul 29, 2017
    @snnn 对头, 重启之前先确认一下系统数据都有监控, 一般部署了监控系统的话这些都有了的.
    eyp82
        21
    eyp82  
       Jul 29, 2017
    这种事没必要郁闷, 如果你稍微多问他就不耐烦的话, 要么这人涵养有问题, 要么你之前的回答他已经不满意, 已经决定了要拒了你了. 所以问题不是出在这里.
    很多时候面试讲究一个第一印象或者说眼缘, 实际上你是否能完美回答面试人的每个问题并没有那么重要, 相比之下更重要的是你要有:
    1. 蜜汁自信, 是的我没说错. 哪怕你细节说错了也要特别有气场(当然大方向都错了那自信就成了装 B 了)
    2. 有条理, 懂得列出一二三, 而不是眉毛胡子一把抓
    3. 懂得轻重缓急, 哪些该做哪些不该做, 哪些先做哪些后做.
    4. 有斗志, 有钻研精神等等等等.

    至于技术细节搞错, 大家都不是神仙, 而且他是有备而来而你要面对完全开放式的问题, 能滴水不漏才见鬼了. 他上他也瘸啊.
    pandahii
        22
    pandahii  
       Jul 29, 2017
    首先考虑的是!当前场景是否是生产环境!!!如果是生产环境,你就不能动这一对服务器!!!万一有个什么小意外,那就 GG !!!
    然后才是一步步的测!
    scys
        23
    scys  
       Jul 29, 2017
    如果对方连这么点耐心都没有,合作起来就是很困难。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3600 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 74ms · UTC 04:50 · PVG 12:50 · LAX 21:50 · JFK 00:50
    ♥ Do have faith in what you're doing.