2019-10-Java面试经历

 

  谈谈最近面试的经历吧,其实也就是不想一直这么闲着了,找份工作刚好能够在2020年前转正,这边是最适当的时候了。所以谈谈这十天左右的应聘历程...........................................................................................................

 

  注意:各位IT开发人员必须要清楚一个道理,职位待遇与个人能力是同等匹配的,是应聘的概念,而不是求职,因为这本身就是等价交换的过程,‘求’ 这个字用的真心别扭......

 

  正文开始了,如果嫌有点啰嗦的话,就跳过呐。

 

  2019-09初,从杭州某一外包公司离职,当然是由于个人原因,并非工作失误呐,因此当时对工作的交接,自认为还是OK的,没有遗留特别大的问题点。此时还处于一种不想找工作的时刻,毕竟刚离职,还想着玩一玩,逛一逛...

  当时没有想那么多,认为金九银十,也是招聘旺季,所以没有多大担心,造呗..................................................

  单纯呐,9月份,中秋,十一,同学结婚......各种事情,还想趁面试前看点东西?   想的美,平常的碎片化积累是非常重要的..................................

  然后,转眼金秋9月过去了,10月份了,该找了,2020年春节在1月份,因此保证年前能够转正,就必须保证在10月20左右入职......下面就谈一谈面试过程中,与面试官交流的一些还能想起来的面试问题........................................

  对了,提前说一下,现在的面试结果是什么样的,提前有点自己的想法,总共面试了7天,13家公司,15次面试(两个二面),收到5份通知,薪资有差距,属于可接受范围内,福利也差不多,双休/大小周,技术分享...

  以下公司名称保密,也别猜了,如有幸相识,祝各自成长.............( 有可能写不全,毕竟人有忘性呐,表介意呐 ,基本上都是先介绍项目,这个就忽略了)..............................

 

    一、科技公司,面试地点距离很近,但是工作地点很远,已经忘了公司的项目是何类型的,好尴尬啊。

      Spring框架简介,声明式事务如何配置?

      如何实际一个架构,无限制,按照自己的理解,使用场景不限,访问并发量不限,自定义即可,说出目前能想到的最合理的架构?

      Mysql中引擎的优缺点?每个版本之间的区别?现在最新的版本中比之前调整了哪些东西?

      MyBatis实现的原理?用的代理模式?这个模式有哪些?每个之间有什么区别,各有什么实用场景?mapper.xml中的标签有哪些?

      MySQL中,自增ID与UUID分别做主键,各有什么优劣点?

      一个SQL查询的场景,简单写一下SQL,这个没有多难,left join * on *  /  group by * having * 

      --- --- 加上想不起来的.......

 

    二、一家面试时感觉很好的外包公司,外包银行项目。(这家是OK的,由于上一家是外包公司,所以就拒了,不过HR小姐姐很好的,加上面试官聊天时会进行引导回答的,挺好的公司)

      Spring的原理,IOC时,如何解决bean循环依赖的问题?BeanFactoryPostProcessor的作用?BeanPostProcessor的作用?对象初始化得到具体的实例对象的时机是什么时候,以及注入的方式有哪些?构造?Setter?

      项目中有进行重构迁移的操作?这部分怎么解决的?数据如何迁移?全量迁移还是增量迁移?

      Redis中的数据扩容怎么实现?

      队列的实现原理?Queue的实现原理?如果数组长度都不够了,如何操作?是移除头部元素?还是扩容?又或循环数组?

      分布式事务的思想?如何实现?2PC是什么?TCC怎么实现补偿机制的?3PC呢?

      若有相互调用的系统,位于一个分布式事务中,若一个系统宕机了,整个分布式事务如何进行回滚的?逻辑怎么进行?

      CountDown(闭锁)怎么实现线程阻塞的?最后一同执行,怎么保证同时唤醒操作?

      Map的put方法详解?size方法怎么操作的?

      --- --- 加上想不起来的.......

 

    三、先电话一面,再进行二面,做日志,便签等,亦可个性化的开发公司,以下二合一面试问题。

      项目中的痛点,难点分析?熟悉的技术栈描述?

      项目中实现了分布式监控的操作?那这个具体要如何是实现呢?如果要记录于日志系统,那该如何操作呢?大致描述一下具体的逻辑思路?

      事务怎么管理处理逻辑的?@Transaction怎么工作的?

      可重入锁?怎么保证重入性这个操作的?

      还有JVM相关的,类加载机制、数据区、分代........(庆幸前一段时间看了《深入理解JVM》这本书,也可以看前几篇博文),怎么优化?工具怎么使用?参数比例?实际开发中怎么使用?

      redis介绍?主从复制?集群?哨兵模式?持久化方式?AOF追加的方式,文件越来越大,怎么解决这种问题?

      多线程怎么理解?项目中如何使用的?JVM中的引用类型?强软弱虚?      

      --- --- 加上想不起来的.......

 

    四、一家关于呼叫系统的开发公司,有点类似于通信之类的

      消息队列如何保证消息发送成功了?那事物消息如何处理的呢?

      多线程、线程池的原理?底层如何实现的?

      锁的实现是什么样的?可重入锁的实现?AQS如何实现的?阻塞队列如何在AQS中运用的?关于分布式锁的了解?

      设计模式:工厂模式?代理模式的具体应用?

      如何提高自己?怎么学习?怎么保证持久性的学习状态?什么样的渠道?

      --- --- 加上想不起来的.......

 

    五、一家关于车的平台,从线下到线上,从商家到购车者,类似于瓜子车的平台

      项目中使用的设计模式,讲解一下?模板模式?职责链模式?装饰器模式?

      代理模式有哪几种?之间的区别?动态代理有几种?区别是什么?

      JVM中的垃圾收集算法有哪些?应用?

      MySQL中的索引结构有哪些?hash?BTree?等?

      Java内存模型中,结合voliatile关键字来阐述同步,可见等操作?

      JDK1.5对锁进行了哪些优化?自选锁?锁消除?锁粗化?那锁升级如何操作的呢?无锁->偏向->轻量级->重量级?

      Java中对超多的数据集怎么操作,能够有哪些方法保证Java的处理速度?数据冷热分离?热数据中间做二次处理?

      --- --- 加上想不起来的.......

  

    六、与国企合作,集两家公司之力,强化开发团队(不过是BOSS面试的,只能指着简历说:这个我们用过,这个也用过.......这个呐,没见过......)

      --- --- 没得技术问题,当然也无后续.......

      

    七、一家关于教育的公司,有点类似于腾讯课堂这种平台

      关于锁有哪些认知,所关键字怎么调用操作系统?

      可重入锁如何保证锁的重入性,代码怎么实现的?

      CAS是什么,有可能造成那些问题,怎么解决?代码中用什么样的方式?  redis数据结构使用过哪些,怎么用的。代码中怎么表现得?zset  hash在项目中怎么用的?代码怎么写?说一下

      分布式锁?redis怎么操作的?还有哪些,zk怎么实现的?

      设计模式使用过哪些,怎么用的?原则了解哪些?单例模式有哪些创建方式?枚举为什么可以实现单例,DCL怎么实现的?为什么同步了。还加了一次if判断?

      JVM怎么调优的?怎么排查线上异常?如果线上CPU爆了,怎么排查,SQL调优怎么做?如果出现处理?解决?

      redis是单线程,为什么性能高?线程切换是什么?为什么线程切换会带来开销?

      分布式锁用什么来实现?redis,zk,数据库?具体怎么实现,代码?

      布隆过滤器的数据结构是!如何保证可见性?

      几乎都是从怎么处理问题的角度来考虑,怎么分析,解决?如何编码?等等,不过,自己回答有点弱,可能还是项目欠缺及技术还是弱吧。

      --- --- 加上想不起来的.......

  

    八、一家不确定的公司?我啥也没问,被怼了一顿......实属无奈,但是收获是真的超大,该公司招资深,估计也是高看我了 + 我胆子大。

      与这家的面试官沟通,收获良多,这段大家可以仔细看一下呐。

      公司招的职位是资深开发岗位,我应聘的是高级,目前没有与之相匹配的能力,就直接挂了,不过面试官说了一些有助于后续成长的东西,希望能够帮助到大家。

      

      列了一个秒杀场景,商品:n种 *  n件,N亿人来进行秒杀。

      说一下服务器数量,系统如何划分,划分的理由是什么,业务与技术各有什么难点,有可能碰到哪些具体问题?技术选型原因,整个方案实现的人员配置人员成本,项目整体成本分析,完成度如何?整体报价?

      以上的问题是谁进行思考的?产品?技术leader,CTO?那要开发干啥,整个项目完成直接外包就可以了,要考虑自己在这个项目中承担的角色是什么?换位思考,如果自己在高级开发,资深开发,技术经理的角度,该如何思考项目成本与完成度?

      比如刚才的场景,在下单的时候,会发生并发,那如何控制下单的同步,分布式锁?采用哪种?为什么选这种?

      但是,同理,服务器的数量,如何考虑?Tomcat,Jetty,还是云服务器?买多少台能够达到支撑多少的并发?开发中,只考虑如何实现,这个很简单,但是除此之外的呢?要谁考虑呢?

 

      工作中,想往上升,不是把你提到那个位置上,你才匹配相应的能力,而是具有相应的能力了,才能胜任那个位置上。那以上怎么学习啊,通过哪个渠道呢?。。。目前还是懵......

      --- --- 加上想不起来的.......

 

    九、呃......有忘了这家的产品类型,面试我的人也忘了,目前写这段的时候,特别尴尬,-.-

      类的加载顺序?实现字符串写入文件的代码?循环删除name属性重复的数据?只留下name属性重复数据中的任一记录即可?

      HTTP协议、TCP协议?请求头中的报文是什么意思?

      过滤器、拦截器分别有什么作用,异同点?应用场景?

      Nginx、设计模式等      

      --- --- 加上想不起来的.......

 

    十、一家电商的平台,日常QPS:1-2W    活动QPS:10W   (其中的问题与上面雷同性很大)

      --- --- 不重复写了.......

      

    十一、成立时间不到一个月的公司,不过产品是真的牛掰,目前开发团队正在组建中......

      关于Java集合方面的东西,还有关于Java8流方面的使用?

      httpservletrequest请求怎么获取数据,如获取get  post中的数据,用什么方法?

      再者就是关于一些场景的处理方法
      比如两个请求并发访问,比如同一个订单,进行支付,如何保证一个成功,一个失败,还有就是如果是多个系统之间,怎么保证数据的最终一致性?

      --- --- 加上重复的.......

 

    十二、一家关于施工质量检测的系统设计,公司的技术氛围很浓厚,日常数据量也挺大的。

      jdk8中的特性,流,使用了什么来处理,pridcate等?

      CMS原理?对于它了解多少?

      多线程的原理,参数有什么?

      对SOFA的理解,及对tair缓存的理解?

      设计模式,代理模式中,动态代理两个的区别,还有springAOP的原理,事务怎么控制的,怎么配置?

      可重入锁怎么保证重入性质的?读写锁,readwritelist(查了下没有这个List,我太南了)?

      jdk8中,接口增加了default方法,有什么用?

      --- --- 加上重复的.......

 

    十三、关于中国某一家保险的开发部门,笔试,面试

      ocenbase的理解(内部引擎是如何实现的?),还有jdk8中的新特性的理解,集合,类,设计模式,分布式锁的处理,boot,cloud 等的应用,再者关于JVM的了解等等,笔试题一点用都没有(真特么的南受!!!!!!)

      --- --- 加上重复的.......

 


  以上的总结,就暂时不了,自行总结吧,答案就忽略吧,这些问题也不是特别的南..............................

 

  

  (愿你的每一行代码,都有让世界进步的力量    ------   fn)

 

posted @ 2019-10-19 15:13  fn-f  阅读(1196)  评论(0编辑  收藏  举报