java吧 关注:1,215,847贴子:12,662,699
  • 6回复贴,共1

最近面试高开的一些面试题总结

只看楼主收藏回复

因为本人数据库薄弱,这里就不介绍数据库相关的面试题了。


IP属地:安徽1楼2022-01-11 13:36回复
    线程池利弊:
    一般情况下是不建议使用线程池的。
    如果线程池是一片公用内存的话,就容易在并发较高的情况下,导致任务堆积,进而触发拒绝策略。
    如果线程池是在一个单独的线程栈里创建的话,一方面开销太大,另一方面就在高并发的场景下线程过多。导致cpu来回切换过度消耗。
    想用异步来处理一下并发任务的话,第一种就是可以考虑mq,或者其他中间队列的存储方案来保留任务。
    第二种需要在当前线程栈获取异步信息的话,也需要对上游做好一些限流处理。


    IP属地:安徽2楼2022-01-11 13:42
    回复
      关于计算机系统学习的建议。
      很多分布式场景中都借鉴了计算机设计的思想,
      比如分布式场景中缓存的设计,就会考虑ng缓存,本地缓存,redis等缓存中间件,数据库这种多级缓存的思想。
      那么计算机也有类似缓存设计,cpu线程栈,cpu缓存(L1,L2,L3),内存、磁盘。


      IP属地:安徽3楼2022-01-11 13:47
      回复
        还有网络部分。
        像tcp封包,它会将一些数据包合并一起发送来减少带宽的调用。
        同理的,像kafka这种在设计的时候,也有buffer-memory来指定数据达到一定量级之后才发送。
        这样能够减少网络调用的频率,同时也方便开发控制好缓冲区的大小避免了内存溢出的情况。
        kafka的数据丢失除了一些常见的ack问题,buffer如果提到的话也挺好的。


        IP属地:安徽4楼2022-01-11 13:52
        回复
          关于写代码的建议,
          有的公司比较务实的话,更关注编码能力。
          希望大家在写代码的时候多多参照一些优秀的开源库。
          比如apache。先熟悉然后再结合,融入自己的代码风格中。
          然后向面试官介绍自己的作品。


          IP属地:安徽5楼2022-01-11 14:08
          回复
            几年的面试啊


            IP属地:浙江来自Android客户端7楼2022-01-14 09:00
            回复