zoukankan      html  css  js  c++  java
  • 9.27美团面试

    1.手撕两个有序数组合并为一个(不能用额外数组):思路移动长的数组,双指针比较,后来发现其实可以比较大的数放尾部

    2.讲了一下二叉树翻转的思路:递归(其他思路?栈模拟递归(具体实现不太清楚,只记得有这个方法))

    java线程池

    HashMap底层 引申到->

    红黑树,AVL树

    ConcurrentHashMap->引申到CAS

    CAS(答的有点不清楚,主要回答了比较交换(没有问ABA原子引用,(类似版本链)))

    线程池核心参数(答了具体的线程等待过程,以及抛弃策略)

    Redis (问的不多,就问了清除缓存的策略,以及为什么使用Redis)(没有问Redis底层结构)

    垃圾回收(串行,并行,CMS(具体过程:初始标记stw(GCRoot)、全标记、补充标记stw,标记清除))没有继续问G1(类似CMS的过程,但是使用了标记整理,且没有内存碎片(由于分成了多块,没有了分代的概念))

    分布式锁(答到Reids使用Setnx可以模拟分布式锁,还有RedLock的一个包?记不清了)

    没有答出来的:

    Redis一致性解决?(只记得一个什么保证可靠的消息?就回答记不清了)

    1.对于先删缓存,再更新数据库的这种:延迟双删(删缓存-更新数据库-sleep一段时间再删缓存)

    2.对于先更新数据库,再删缓存这种:利用消息队列的重试机制(更新数据库-发消息-重复直到删掉缓存,保证最终一致性)

    SpringMVC的Request请求到Controller的过程?(只记得请求转换来转换去最后返回了一个ModelAndView?,回答不太了解)

    RPC框架?(就说了项目中用到了HttpClient,其他不了解)

  • 相关阅读:
    C# Time Class using MySQL
    csharp: Double Convert To String
    csharp: 图片字符间距
    HtmlEntities
    csharp: Microsoft SqlHelper
    csharp: read excel using Aspose.Cells
    JAVA核心技术I---JAVA基础知识(命令行)
    JAVA核心技术I---JAVA基础知识(Jar文件导入导出)
    JAVA核心技术I---JAVA基础知识(package和import)
    JAVA核心技术I---JAVA基础知识(知识回顾)
  • 原文地址:https://www.cnblogs.com/wsZzz1997/p/15345888.html
Copyright © 2011-2022 走看看