写面经攒人品。 面试官人很好,态度很温和,迟到了两三分钟也在道歉。 1.手撕约瑟夫环 2.项目中的某个业务点怎么实现的 3.Sentinel限流的原理,怎么实现的 4.数据在redis中存的时候用的什么数据结构 5.redis hash结构的缺点 6.==和equals 7.重载和重写 8.线程有哪些状态,怎么切换的 9.java集合有哪些东西 10.sleep和wait 11.怎么创建一个线程
1. 自我介绍 2. 直接问项目,设计到项目优化,增加模块怎么处理,数据库设计 3. 八股文 final finally finalize详细说说,finally一定会执行吗? hashcode是干什么用的?可以不重写hashcode方法吗?会出现什么问题? String s = new String("java"); 创建了几个对象? 讲讲jvm内存模型 线程池用过吗,用的什么线程池,怎么设计的
到家,没记全,挑有印象的题目记录 8.24一面 大致比较轻松,实习+八股 算法是力扣字符串相乘,尴尬细节不太对,答案出来是错的,讲了下思路,面试官还是给过了。 第二天约二面 8.28二面 面试官说技术实习之前聊过就不聊了 了解个人信息,包括爱好、个人发展这些 然后是算法:有序链表排序,考虑链表可能相交 说思路:还是有序链表,链表数量很多,节点数也很大,内存存不下,只能放在磁盘,如何将这些链表合并
1.介绍一下CAS机制。 2.如何保证可见性? 3.为什么Volatile关键字可以保证可见性。 4.Lock和Synchronized两种锁的区别。 5.介绍一下Spring中的AOP。 6.AOP中两种动态代理的区别? 7.为什么要使用动态代理? 8.SpringBoot中starter的原理? 9.如何自定义一个Starter? 10.当一个Java程序发送一个hello world消息时,
1.Oauth2流程 2.随机盐值加密的原理作用 3.支付成功的回调函数里面宕机了怎么办 记录状态表+微信端获取消费记录 4.线程池在你项目中有什么作用? 5.线程池也不能指定线程的顺序,怎么做的? 6.1亿个任务,CPU密集型,一个开9个线程,一个开20个线程,实际的物理线程都是8的服务器,这两个服务器哪个执行的快? 答案: 9 7.那io密集型呢,为什么 8.单例模式双重锁,讲一下每层锁是干啥
题目描述 某公司目前推出了AI开发者套件,AI加速卡,AI加速模块,AI服务器,智能边缘多种硬件产品,每种产品包含若干个型号。现某合作厂商要采购金额为amount元的硬件产品搭建自己的AI基座。例如当前库存有N种产品,每种产品的库存量充足,给定每种产品的价格,记为price(不存在价格相同的产品型号)。请为合作厂商列出所有可能的产品组合。 输入描述 输入包含采购金额amount和产品价格列表pri
题目描述: 小明有n块木板,第i(1<=i<=n)块木板的长度为ai。 小明买了一块长度为m的木料,这块木料可以切割成任意块,拼接到已有的木板上,用来加长木板。小明想让最短的木板尽量长。请问小明加长木板后,最短木板的长度最大可以为多少? 输入描述: 输入的第一行包含两个正整数,n(11n1103),m(11m1106)——n表示木板数,m表示木料长度。 输入的第二行包含n个正整数,a1,a2,,,
题目描述:小明负责维护项目下的代码,需要查找出重复代码,用以支撑后续的代码优化,请你帮助小明找出重复的代码。重复代码查找方法:以字符串形式给定两行代码(字符串长度 1 < length <= 100,由英文字母、数字和空格组成),找出两行代码中的最长公共子串。注: 如果不存在公共子串,返回空字符串 输入描述: 输入的参数text1, text2分别表示两行代码 输出描述: 输出任一最长公共子串 示
题目描述: 记账本上记录了若干条多国货币金额,需要转换成人民币分(fen),汇总后输出。 每行记录一条金额,金额带有货币单位,格式为数字+单位,可能是单独元,或者单独分,或者元与分的组合。 要求将这些货币全部换算成人民币分(fen)后进行汇总,汇总结果仅保留整数,小数部分舍弃。 元和分的换算关系都是1:100,如下: 1CNY=100fen(1元=100分) 1HKD=100cents(1港元=1
题目描述: 日志采集是运维系统的的核心组件。日志是按行生成,每行记做一条,由采集系统分批上报。 如果上报太频繁,会对服务端造成压力;如果上报太晚,会降低用户的体验;如果一次上报的条数太多,会导致超时失败。 为此,项目组设计了如下的上报策略: 1、每成功上报一条日志,奖励1分 2、每条日志每延迟上报1秒,扣1分 3、积累日志达到100条,必须立即上报 给出日志序列,根据该规则,计算首次上报能获得的最
题目描述: 公司某部门软件教导团正在组织新员工每日打卡学习活动,他们开展这项学习活动已经一个月了,所以想统计下这个月优秀的打卡员工。每个员工会对应一个id,每天的打卡记录记录当天打卡员工的id集合,一共30天。 请你实现代码帮助统计出打卡次数top5的员工。假如打卡次数相同,将较早参与打卡的员工排在前面,如果开始参与打卡的时间还是一样,将id较小的员工排在前面。 注:不考虑并列的情况,按规则返回前
题目描述: 小明在玩一个数字加减游戏,只使用加法或者减法,将一个数字s变成数字t。 每个回合,小明可以用当前的数字加上或减去一个数字。 现在有两种数字可以用来加减,分别为a,b(a!=b),其中b没有使用次数限制。 请问小明最少可以用多少次a,才能将数字s变成数字t。 题目保证数字s一定能变成数字t。 输入描述: 输入的唯一一行包含四个正整数s,t,a,b(1<=s,t,a,b<=105),并且a
题目描述: 去除文本多余空格,但不去除配对单引号之间的多余空格。给出关键词的起始和结束下标,去除多余空格后刷新关键词的起始和结束下标。 条件约束: 1,不考虑关键词起始和结束位置为空格的场景; 2,单词的的开始和结束下标保证涵盖一个完整的单词,即一个坐标对开始和结束下标之间不会有多余的空格; 3,如果有单引号,则用例保证单引号成对出现; 4,关键词可能会重复; 5,文本字符长度length取值范围
题目描述: 某块业务芯片最小容量单位为1.25G,总容量为M*1.25G,对该芯片资源编号为1,2, ..., M。该芯片支持3种不同的配置,分别为A、B、C。 配置A:占用容量为1.25 * 1 = 1.25G 配置B:占用容量为1.25 * 2 = 2.5G 配置C:占用容量为1.25 * 8 = 10G 某块板卡上集成了N块上述芯片,对芯片编号为1,2,...,N,各个芯片之间彼此独立,不能
题目描述: 有N个快递站点用字符串标识,某些站点之间有道路连接。每个站点有一些包裹要运输,每个站点间的包裹不重复, 路上有检查站会导致部分货物无法通行,计算哪些货物无法正常投递 输入描述: 第一行输入M N,M个包裹N个道路信息. 0<=M,N<=100,检查站禁止通行的包裹如果有多个以空格分开 4 2 package1 A C package2 A C package3 B C package4