Java一亿电话号码去重_java高级工程师开放面试题集

本文是针对工作两年以上Java后端开发的面试经验分享,涵盖数据结构、算法、并发问题和数据库优化等内容。通过实例讨论了一亿整数的去重和排序策略,包括HashSet、布隆过滤器、数据库操作以及Redis、Mongo的使用。同时,深入探讨了斐波那契数列的优化实现,并分析了并发场景下的线程模型、线程池和并发控制。还涉及到了数据库查询优化,如索引和复合索引的应用,并讨论了设计模式在异步任务执行中的应用。
摘要由CSDN通过智能技术生成

082706ed609c05846eb110210bd486a4.png

临近年关,不少人蠢蠢欲动,有童鞋问我java后端面试会面试什么?

作为一个java后端老鸟,跌打滚爬多次被面试和面试别人,总结了一些经验,希望对大家有所帮助。

特别说明,仅仅针对工作两年以上的java后端开发。以开发性题目为主。

1.数据结构相关

假设1亿整数存放在一个txt文件中,如何去重和排序?

思路:

1.1.面试者要评估一下一亿整数的大小。一个int占4个字节,1亿呢?

1.2.去重的数据结构有哪些?HashSet--->引申到HashMap--->ConcurrentHashMap

1.3 数据量增大到十亿百亿怎么去重?

布隆过滤器,优点,缺点

1.4.其他方式?

数据库distinct order by,txt怎么导入到数据库?load

redis去重排序,redis的数据结构-->引申到其他数据结构 String,list,hash,set,sorted set,hyperloglog,geo

mongo去重排序,

....

2. 算法相关,主要考察代码能力

斐波那契数列(fabnacci)实现,首先介绍一下该算法的思想

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值