差旅壹号二面:一半是意愿题,一半是技术细节
- 轮次
- 二面
- 时间
- 2026-09
- 来源
- 牛客网
《面试题目》
- 请做一下自我介绍。
- 你想找一份什么样的工作?
- 你对自己的工作有什么期望?
- 老家四川的、在这边上大学,还是想回四川找工作吗?
- 未来计划回四川定居吗?
- 重点讲一下你在「某车企」这份实习:核心工作、目标指标、做了哪些有价值的工作,拿一个点重点展开。
- 你们有哪些服务(微服务拆分)?
- 这份工作对你最大的提升是什么?
- 现在用什么 AI 工具?自己开账号还是用中转?
- 你简历里写的 ConcurrentHashMap 无锁读写是什么意思?
- 你个人的意愿是更想做 AI 相关开发,还是业务开发?
- 有没有人跟你说过你语速有点快?
- 上一份工作的离职原因是什么?
- 逻辑题:种四棵树,怎么保证四棵树之间两两距离相等?
- 说说你自己的两个缺点。
- 你是 I 人还是 E 人?测试过吗?
- 别人对你的评价,用一个词归纳。
- 反问环节。
《参考解析》
四棵树两两距离相等:平面内无解,四种两两距离都相等的图形是正四面体,所以答案是立体的种法——其中三棵种成等边三角形的三个顶点,第四棵种在这个三角形的中心点向上(比如堆一个土坡)或者向下(挖一个坑),使它与其余三棵的距离都等于三角形边长,构成正四面体的四个顶点。这类题考的是「不要默认约束条件」——题目只说种四棵树,没说必须在同一平面上。回答时最好主动说明前提(地形可以起伏、树可以种在坡上或坑里),并给出边长与高的关系:设边长为 a,正四面体高为 a·√(2/3) ≈ 0.816a。
ConcurrentHashMap 的无锁读写:这个说法要说准确——它并不是完全无锁,而是「读操作基本无锁、写操作锁粒度到桶」。JDK 8 之后的结构是数组 + 链表 + 红黑树:读操作(get)不加锁,靠 volatile 修饰的节点值与 next 指针保证可见性,所以读是并发的。写操作(put)分几种情况:目标桶为空时用 CAS 直接放节点头,这一步是无锁的;桶非空时对该桶的头节点加 synchronized 锁——锁的粒度是单个桶而不是整张表,所以不同桶的写可以并发。扩容时用多线程协同迁移(transfer + ForwardingNode),迁过的桶读到的是转发节点,读线程会转去新表继续查,避免扩容期间阻塞读。要补充的取舍:size() 返回的是估算值(sumCount 累加 baseCount 与 CounterCell),不保证强一致;链表在长度 ≥8 且表长 ≥64 时才树化,否则先扩容,这是为了平衡树化成本与冲突概率。跟 JDK 7 的分段锁(Segment)相比,JDK 8 把并发度从「段数」提升到了「桶数」,这是「无锁」这个说法的由来。
微服务拆分怎么讲:讲拆分要从业务边界讲起,而不是从技术组件讲起。合理顺序是:先按领域边界(业务能力)划服务,让一个服务内的改动不需要跨服务发布;再明确每个服务的职责与不负责什么(边界比职责更重要);然后才谈通信方式(同步 RPC 还是异步消息)、数据归属(一服务一库、跨服务只能通过接口或事件拿数据,绝不允许跨库 join)、以及一致性方案(强一致场景用事务消息或 TCC,绝大多数场景用本地消息表 + 幂等消费做最终一致)。实习场景里可以按实际结构讲:用户与鉴权、车辆与订单、支付与账务、消息通知、以及网关与配置中心,并说明拆分的依据是「变更频率与团队边界」而不是「按技术层拆(controller/service/dao 各一个服务)」。面试官常追问的坑是分布式事务和跨服务查询,要能说清为什么不做跨库 join、以及为什么拆得太细反而更慢(一次业务要串几跳 RPC,延迟与故障率都上升)。
「想找什么样的工作」这类意愿题怎么答:给一个可验证的标准比给形容词更可信。可以按三个维度说:技术方向(希望做后端核心链路而不是纯 CRUD,比如有并发、有数据一致性要求、能接触性能优化)、成长环境(团队有代码评审与技术沉淀、能接触到有经验的同事)、以及业务形态(业务本身在增长、需求明确)。然后说明为什么这家公司符合——最好能落到具体产品与具体技术点上(差旅场景涉及订单、库存、结算,天然有并发与一致性问题),这比「贵公司平台大、有发展前景」有说服力得多。
「语速有点快」这类个人特质问题:这是在观察自我认知与可塑性,不是在挑刺。诚实承认然后给出你的处理方式最有说服力:比如「确实有过反馈,我在讲方案时会越讲越快,后来刻意在关键结论处停顿、并主动问对方『这里我需要再展开吗』」。要避免两种答法:硬否认(说明自我认知差),或者过度自责(把一个小习惯说成严重缺陷)。
I 人还是 E 人、用一个词概括别人对你的评价:这类题没有标准答案,但要保持一致性与具体性。MBTI 问题可以答结果并补一句自己的观察(比如「测出来是 I,但我并不怕沟通,只是更习惯先想清楚再说」),避免把它当成给自己贴死标签。别人对你的评价那题,选一个与岗位正相关的词(比如「靠谱」「较真」「能扛」),并立刻配一个具体的场景佐证——只给词不给例子的回答会让面试官觉得是空话。同理,「两个缺点」要挑真实的、可改进的,并且说明你正在怎么改,不要用「太追求完美」这类变相自夸。