实习期间如何提升留用概率?

wangzhongyang007 · · 183 次点击 · · 开始浏览    

最近有学员给我发私信,问:“**同期实习的人,有的提前转正了,有的就成了个‘工具人’,这差距咋就这么大呢?**”我带过300多个实习生,又了解最新大厂的情况,今天就跟大家好好唠唠这事。 #### 从“学生思维”变成“打工人思维” 有个985硕士,在券商实习了8个月,每天就整理会议纪要,结果还是被淘汰了。但普通一本的小张呢,主动去拆解估值模型,还输出行业速评,最后成功拿到了头部公募的offer。为啥差距这么大呢?关键就是,**咱们实习生来实习,是来解决问题的,不是来上课学习的**。 #### 学会找准“价值定位” - **提前了解留用情况**:日常实习留下来的概率不到30%,暑期实习能有60%以上呢。 - **让自己的工作成果被看见**:每周给导师交个《工作价值清单》,标清楚你做的事对核心业务有啥贡献。 - **提前把事办好**:有个学员在美团实习的时候,做了竞品分析,提前两周就搞出了《新功能防御方案》,直接进了核心项目组。 #### 搭建三种有价值的关系网 想留在公司,得经营好这三张网: 1. **业务关系网**:别只满足于完成任务,得超预期交付。 2. **人脉关系网**:午休的时候,找总监问问行业趋势;在茶水间碰到HRBP,打听打听编制情况。 3. **信息关系网**:通过公司内部系统看看项目立项书,提前知道团队接下来3个月要干啥。 把这些都做好了,公司抢着留你! --- 下面接着分享最新的面经,今天分享的是[组织内部](https://mp.weixin.qq.com/s/OQD8MJakqkgMxdyvaYoX7w)朋友在拼多多的Go后端面经: #### **1. Redis Cluster模式下热Key迁移导致CPU飙高,如何解决?** 当Redis Cluster进行数据迁移(resharding)时,若某个节点包含大量热Key,会导致目标节点CPU飙高。解决方案需要结合客户端和服务端协同处理: 1. **动态分片+本地缓存**:客户端监控Key访问频率,对热Key进行本地缓存降级(如Guava Cache),设置合理的TTL避免缓存雪崩 2. **服务端限流**:启用Redis-Cell模块,通过`CL.THROTTLE`命令对热Key请求进行速率限制,例如限制每秒5000次访问 3. **渐进式迁移策略**:在业务低峰期执行迁移,使用`MIGRATE`命令时增加`KEYS`参数分批迁移,并配合`CLUSTER SETSLOT`控制迁移进度 4. **读写分离**:对迁移中的Slot配置从节点优先读取,通过`READONLY`命令将部分读流量导向从节点 --- #### **2. 如何用Redis实现分布式全局序列生成器?** 需解决时钟回拨和性能瓶颈问题,采用Lua脚本+分段预分配方案: ```lua -- KEYS[1]=序列键, ARGV[1]=时间戳 local incr = redis.call('INCRBY', KEYS[1], 1000) local current_time = tonumber(ARGV[1]) if incr % 1000 == 0 then redis.call('EXPIRE', KEYS[1], 10) -- 防止冷数据堆积 end return current_time * 1000000 + (incr % 1000) ``` 1. **时钟同步**:使用NTP服务校准,当检测到时钟回拨超过50ms时触发告警并拒绝生成 2. **分段优化**:每次预分配1000个序列号,减少Redis操作次数,通过`INCRBY`保证原子性 3. **高可用**:部署Redis Sentinel集群,故障切换时通过`SLOWLOG`检查未使用的预分配号段 --- #### **3. 十亿级订单表分库分表方案设计** 采用基因分片法解决user_id查询和冷热分离问题: 1. **分片键设计**:user_id末尾4位作为分片基因,例如`user_id = 1234567890123`取`9012`作为分库基因 2. **路由策略**:`分库数 = 基因 % 1024`,`分表数 = 创建时间戳 % 12`(按月分表) 3. **冷热分离**:近3个月数据存在SSD磁盘,历史数据归档至ClickHouse,通过Binlog同步 4. **全局索引**:使用Elasticsearch建立`order_no`到`user_id`的映射表,解决非分片键查询问题 --- #### **4. MySQL死锁** 高频出现的死锁场景及解决方案: 1. **Gap锁冲突**:当执行`SELECT ... FOR UPDATE`范围查询时,不同事务的Gap锁范围重叠。解决方案:改用`READ-COMMITTED`隔离级别禁用Gap锁 2. **索引顺序不一致**:两个事务以相反顺序更新多条记录。解决方案:强制按主键顺序执行更新,例如`UPDATE table SET col=val WHERE id IN (1,2,3) ORDER BY id DESC` 3. **唯一键冲突回滚**:并发插入相同唯一键导致回滚。解决方案:使用`INSERT ... ON DUPLICATE KEY UPDATE`代替直接插入 --- #### **5. Redis Cluster脑裂如何保证数据一致性?** 1. **故障转移控制**:设置`cluster-node-timeout`参数(建议15秒)控制节点失联判定时间,结合`min-slaves-to-write=1`强制主节点需同步至少一个从节点才能写入 2. **数据版本校验**:客户端写入时携带CRC64校验码,恢复后对比新旧主节点数据版本,保留最新版本 3. **增量同步补偿**:利用`repl_backlog`缓冲区(建议1GB)记录未同步操作,从节点通过`PSYNC`命令增量同步 --- #### **6. 分库分表后跨分片JOIN查询** 1. **全局索引表**:通过Elasticsearch建立分片键与关联字段的映射表,查询时先查索引再定向到具体分片 2. **数据冗余**:将高频关联字段(如用户ID)冗余存储到相关分片,牺牲存储换性能 3. **中间件聚合**:使用ShardingSphere拆分查询为并行子查询,内存合并结果,支持`UNION ALL`优化 --- #### **7. Kafka Exactly-Once的实现原理** 1. **生产者幂等性**:启用`enable.idempotence=true`,Broker通过`producer_id`和`sequence_number`过滤重复消息 2. **事务型消费者**:配置`isolation.level=read_committed`,仅消费已提交事务的消息 3. **流处理保障**:Flink Checkpoint机制配合Kafka事务提交,实现端到端一致性 --- #### **8. 高并发场景下分布式锁如何优化设计** 1. **红锁算法改进**:半数以上节点确认锁状态,增加本地时钟漂移补偿(NTP校准+本地时间戳) 2. **锁续期机制**:客户端启动守护线程定期续期(如每5秒续期一次),避免因GC停顿导致锁失效 3. **容灾降级**:ZooKeeper宕机时切换为本地锁+异步补偿,记录操作日志待恢复后重试 --- #### **9. TCP BBR算法如何优化长肥管道?** 1. **带宽时延积动态计算**:持续测量最小RTT和最大带宽,动态调整发送窗口 2. **ProbeRTT阶段优化**:每10秒进入4ms的RTT探测周期,防止缓冲区膨胀 3. **抗丢包策略**:丢包率>5%时切换为CUBIC算法,平衡公平性与吞吐量 --- ## 欢迎关注 ❤ 我们搞了一个**免费的面试真题共享群**,互通有无,一起刷题进步。 **没准能让你能刷到自己意向公司的最新面试题呢。** 感兴趣的朋友们可以加我微信:**wangzhongyang1993**,备注:面试群。

有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

183 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传