V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
alexgor
V2EX  ›  问与答

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

  •  
  •   alexgor · 2017-07-29 09:10:02 +08:00 · 3978 次点击
    这是一个创建于 2675 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    从调用链角度找瓶颈。

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

    至于技术细节搞错, 大家都不是神仙, 而且他是有备而来而你要面对完全开放式的问题, 能滴水不漏才见鬼了. 他上他也瘸啊.
    pandahii
        22
    pandahii  
       2017-07-29 14:45:43 +08:00
    首先考虑的是!当前场景是否是生产环境!!!如果是生产环境,你就不能动这一对服务器!!!万一有个什么小意外,那就 GG !!!
    然后才是一步步的测!
    scys
        23
    scys  
       2017-07-29 16:27:27 +08:00
    如果对方连这么点耐心都没有,合作起来就是很困难。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3019 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 00:10 · PVG 08:10 · LAX 16:10 · JFK 19:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.