面试官问我,使用达博有没有遇到一些坑吗?我笑了。

  

  前言   

  

  17年的时候,因为一时冲动没把持住(当然最近也有粉丝叫我再冲动一把再更新一波),结合面试题写了一个系列的达博源码解析。目前公众号大部分粉丝都是之前的粉丝,这里不过多介绍。   

  

     

  

  根据我的面试经验而言,能在简历上写上原理,源码等关键词的,是非常具备核心竞争力的。上周和一个公众号粉丝交流面试情况如下   

  

     

  

  面试的时候,把源码一波分析,令面试官虎躯一震!在一阵前戏过后,以为接下来无非就是身体的一顿抽搐一切变得索然无味,不料面试官来了句令剧情发生了反转   

  

  “你对达博源码这么熟悉,那请问你使用的时候,有没有遇到什么坑“;   

  

  我擦,毫无准备的他,菊花顿时一紧!此时就面临唬住了50 k,唬不住就只能5 k的局面,慌了!   

  

  论如何反杀   

  

  相信大家面试都遇到过类似问题,因为源码解析网上很多,很多人“考前突击“一下,但是遇到喜欢问细节的面试官,终究难逃法眼,无处遁形。遇到这个问题,我们如何反杀一波吗?那么我就从一次聊天记录说起,毕竟只有关注肥朝公众号,拥有真实场景的源码实战(非常重要),遇到这类问题,才不至于出现猛虎落泪的情形   

  

     

  

  真实场景描述   

  

     

  

  那么我们把业务相关去掉,抽取一个最简模型。我们在公司,一般都会有自己的自定义异常,然后这个自定义异常一般放在common.jar给其他模块依赖,比如我这里定义一个HelloException   

  <前>   1 public  class  HelloException  extends  RuntimeException  {23,,,, public  HelloException(),{4,,,,} 56个,,,,public  HelloException (String 消息),{7,,,,,,,,超级(消息);8,,,,}910}   之前   

  然后我们写一个最简单的达博的演示,如下   

  

  接口   

  <前>   1 public  interface  DemoService  {23,,,, String  sayHello (String 名称),45}   之前   

  提供者   

  <前>   1 public  class  DemoServiceImpl  implements  DemoService  {23,,,, public  String  sayHello (String 名称),{4,,,,,,,,throw  new  HelloException(“公众号:肥朝“);5,,,,}67}   之前   

  消费者   

  <前>   1 public  class  DemoAction  {23,,,, private  DemoService  demoService, 45岁,,,,public  void  setDemoService (DemoService  demoService), {6,,,,,,,, this.demoService =, demoService; 7,,,,} 89,,,, public  void 开始(),throws  Exception  {10,,,,,,,, try  {11,,,,,,,,,,,, String  hello =, demoService.sayHello(“公众号:肥朝“);12,,,,,,,,},catch  (HelloException  helloException), {13,,,,,,,,,,,, System.out.println(“这里捕获helloException异常“),14个,,,,,,,,}15,,,,}1617}   之前   

  按照聊天记录的描述,此时消费者调用供应商,供应商抛出HelloException。但是消费者捕获到的,却不是HelloException。   

  

     

  

  那么我们运行看看   

  

     

  

  果然如该同事所言。为什么会这样呢?之前没看过肥朝达博源码解析系列的同学这种时候往往采用最低效的解决办法,把异常栈往微信群一丢,各种求助。但是往往毫无收获,然后感叹社会为何如此冷漠!   

面试官问我,使用达博有没有遇到一些坑吗?我笑了。