【瓴岳科技】历史面试题

2024-07-21 1084阅读

【瓴岳科技】历史面试题

  • 1. 公司简介
  • 2. 写一个lru

    1. 公司简介

    瓴岳科技(Fintopia)是以大数据和人工智能为基础的数字科技集团,致力于通过科技提高金融服务的品质与效率,为全球用户提供卓越的金融体验。2015年成立至今,瓴岳科技始终聚焦消费金融,业务遍布中国大陆、东南亚、拉丁美洲和非洲等;集团旗下拥有洋钱罐、Easycash等知名品牌,始终坚持以用户为中心,助力普惠金融发展。

    【瓴岳科技】历史面试题
    (图片来源网络,侵删)

    2. 写一个lru

    LRU (Least Recently Used) 是一种缓存淘汰策略,它的目的是在缓存满的时候淘汰最近最少使用的数据,以便为新数据腾出空间。这个策略假设最近使用的数据在未来也更可能被使用。

    在 Java 中,可以使用 LinkedHashMap 来实现 LRU 缓存。LinkedHashMap 提供了一种构造方法,可以按访问顺序来维护元素的顺序,这样最早访问的元素会在迭代时排在最前面,最近访问的元素会排在最后面。当缓存达到容量限制时,可以删除最早访问的元素(即最前面的元素)。

    下面是一个使用 LinkedHashMap 实现 LRU 缓存的例子:

    import java.util.LinkedHashMap;
    import java.util.Map;
    public class LRUCache extends LinkedHashMap {
        private final int capacity;
        public LRUCache(int capacity) {
            super(capacity, 0.75f, true);
            this.capacity = capacity;
        }
        @Override
        protected boolean removeEldestEntry(Map.Entry eldest) {
            return size() > capacity;
        }
        public static void main(String[] args) {
            LRUCache lruCache = new LRUCache(3);
            lruCache.put(1, "One");
            lruCache.put(2, "Two");
            lruCache.put(3, "Three");
            System.out.println(lruCache); // {1=One, 2=Two, 3=Three}
            lruCache.get(1);
            lruCache.put(4, "Four");
            System.out.println(lruCache); // {2=Two, 3=Three, 1=One, 4=Four}
            lruCache.put(5, "Five");
            System.out.println(lruCache); // {3=Three, 1=One, 4=Four, 5=Five}
        }
    }
    

    这个构造函数的作用是创建一个具有指定初始容量、负载因子和排序模式的LinkedHashMap 实例。代码中的 super(initialCapacity, loadFactor) 调用了父类 HashMap 的构造函数,以设置初始容量和负载因子。而 this.accessOrder = accessOrder 则设置了排序模式。

    此外,这个构造函数还会在以下情况下抛出 IllegalArgumentException:

    如果 initialCapacity 为负数。

    如果 loadFactor 小于等于 0。

    通过这个构造函数,用户可以更灵活地控制 LinkedHashMap 的行为,以满足不同的使用场景。例如,在实现 LRU 缓存时,可以设置 accessOrder 为 true,使得 LinkedHashMap 按访问顺序排序,从而能够自动淘汰最久未使用的元素。

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]