Java非算法手撕总结

正在慢慢更新代码实现到:
https://www.nowcoder.com/discuss/696372866442334208?sourceSSR=users

1. 多线程交替打印:打印内容为ABC循环或者交替打印一段话
2. 多线程场景题:有5个人,在那赛跑,请你设计一个多线程的裁判程序给出他们赛跑的结果顺序,5个人的速度随机处理
3. 手写线程池(实现一个简易线程池)
4. 生产者-消费者模型:例如一个厨子4s生产一个,一个客人10s消费一个
5. 单例模式:懒汉,饿汉,双重校验锁
6. 动态代理
7. 手写一个HashMap,HashSet
8. 有一个0-4的随机器rand4,如何实现0-6的随机器rand6,概率相同。拓展:rand X = func(rand Y),实现func函数
9. 及其逆天的一个阿里手撕,来自于@byebyeneu:写三个Spring接口,调用第一个接口的时候返回这个接口的累计调用次数,调用第二个接口的时候返回调用这个接口的累计p99,调用第三个接口的时候,如果这个接口这时的qps<10,返回success,如果这个接口这时qps>10,返回err
10.判断今天星期几
11.求YYYY-MM-DD的上一天
12.两个线程和队列模拟TCP三次握手

欢迎评论区补充
全部评论
快手问过我一个逆天的:今天星期几
9 回复 分享
发布于 2024-12-09 14:55 山西
多线程转账,死锁
4 回复 分享
发布于 2024-12-09 14:57 广东
责任链
1 回复 分享
发布于 2024-12-09 23:19 北京
之前还看到一个手撕限流器的,滑动窗口,令牌桶漏桶
点赞 回复 分享
发布于 2025-10-09 19:20 广东
重写Map的equals方法: {'a':Object ,'b':Object }=={'a':Object ,'b':Object} Object : Map/List/Number public boolean equals(Map<String, Object> map1,Map<String,Object> map1)
点赞 回复 分享
发布于 2025-04-17 22:41 北京
mark
点赞 回复 分享
发布于 2025-03-25 16:08 上海
mark
点赞 回复 分享
发布于 2024-12-24 20:32 辽宁
太关键了
点赞 回复 分享
发布于 2024-12-23 13:49 福建
mark
点赞 回复 分享
发布于 2024-12-23 10:36 湖南
mark
点赞 回复 分享
发布于 2024-12-19 12:37 湖北
手写代码部分很厉害,感谢分享这些总结。
点赞 回复 分享
发布于 2024-12-10 21:36 重庆
Mark王哥
点赞 回复 分享
发布于 2024-12-10 10:31 浙江

相关推荐

04-20 11:10
已编辑
山西大学 Java
说一下你对面向对象的理解并发和并行的区别创建线程有几种方式&nbsp;线程池有几种状态说一下什么是反射&nbsp;说一下什么是动态代理你解释一下MySQL是什么你对MySQL的锁有了解吗展开讲讲你说的锁,算了不用了mybatis和plus都使用过吧,解释一下两者之间的差异在plus中,你进行一个单表查询,应用主键的话,在他的实体类上你需要加什么注解模糊查询使用的是什么关键字,参数是怎么写的XML文件中,你进行多表查询,resultType是什么,返回类型和restMap的区别说一下spring&nbsp;bean的生命周期,分为几个阶段bean管理操作有哪些方式实际开发中分为四个层,这四个层的注解有什么区别,你知道这四个注解么?控制反转有了解吗?IOC,spring中有多少种IOC容器呢?AOP呢了解么?AOP动态代理有几种方式,分别是什么你的项目是高并发的,你和我说一下你的qps大概是多少。你为什么要做分库分表,你做分库分表之后如何实现一个跨库的查询你这是一个购票软件,你是如何解决超卖问题的。你还使用了布隆过滤器,解释一下为什么要使用他。既然你提到了缓存穿透,那么有三种,击穿穿透雪崩有什么区别。你的消息队列用的是rabbitMQ,说一下你为什么要用这个MQ。你如何保证这个消息不丢。你有git的使用习惯。那么克隆的命令是什么,本地提交的命令是什么了解Linux使用命令,那我考察你一下,查看目录用的是哪条命令,切换功能使用的是?查看进程使用的是哪个?实时查看资源使用的是哪个?你基于springAI对接阿里云百联,那么你实现这几个模块是怎么实现的,大概讲解一下
查看23道真题和解析
点赞 评论 收藏
分享
部门:&nbsp;食杂零售时间:&nbsp;4.8第一次面试,项目比较toy,基本全程对着简历问八股————1.&nbsp;自我介绍2.&nbsp;项目背景3.&nbsp;RAG项目的整体架构4.&nbsp;意图识别和Rewrite机制具体是怎么实现的5.&nbsp;在第一个项目中遇到了什么困难,你是怎么解决的6.&nbsp;Agent项目的核心架构是怎么样的7.&nbsp;Agent项目中的cron是怎么实现的8.&nbsp;Skill机制具体是做什么的9.&nbsp;你在支持Skill机制这方面具体做了哪些开发工作10.&nbsp;Agent大模型请求的上下文具体是怎么分层组装的11.&nbsp;Java的集合有哪几种12.&nbsp;说一下HashMap在JDK1.8中的核心结构13.&nbsp;HashMap在并发情况下会有安全问题吗14.&nbsp;举例说明HashMap在什么情况下会出现并发数据覆盖的问题15.&nbsp;ConcurrentHashMap在JDK1.8中是怎么避免并发覆盖问题的16.&nbsp;什么是策略模式17.&nbsp;设计模式有哪些18.&nbsp;除了策略模式和单例模式,你还了解哪些设计模式19.&nbsp;你在实际编码实践中用得比较多的是什么设计模式20.&nbsp;了解模板方法模式吗21.&nbsp;JVM有哪些垃圾回收器22.&nbsp;这些垃圾回收器的触发时机是怎么样的23.&nbsp;G1垃圾回收器的核心算法机制是什么24.&nbsp;垃圾回收中,新生代什么时候会晋升为老年代25.&nbsp;怎么判断一个对象需不需要被垃圾回收26.&nbsp;什么时候会触发Young&nbsp;GC和Full&nbsp;GC27.&nbsp;Java的类加载机制是怎么样的28.&nbsp;解释一下Spring中的IOC29.&nbsp;Spring&nbsp;Boot相比Spring多做了哪些工作30.&nbsp;MySQL事务特性31.&nbsp;MySQL事务的原子性是怎么实现的32.&nbsp;Undo&nbsp;Log的结构是怎么样的33.&nbsp;Undo&nbsp;Log是怎么实现事务回滚的34.&nbsp;什么是幻读35.&nbsp;幻读和脏读有什么区别36.&nbsp;可重复读隔离级别下,MySQL是如何避免幻读的37.&nbsp;详细讲一下Read&nbsp;View是怎么判断事务可见性的38.&nbsp;在可重复读级别下,并发更新场景中(事务B修改了数据,事务A再去更新该数据),事务A能读到最新的值吗39.&nbsp;MySQL有哪些类型的索引40.&nbsp;一条SQL语句在MySQL中执行经历了哪些模块,执行流程是怎样的41.&nbsp;为什么建立二级索引比直接查全表数据要快42.&nbsp;通过二级索引查询数据的具体搜索过程是怎样的。43.&nbsp;二级索引查询有可能不需要回表吗44.&nbsp;Redis为什么比MySQL运行速度要快45.&nbsp;本地调用服务端的上传文件接口,这个过程经历了哪些网络层级,使用了哪些协议46.&nbsp;文件上传请求到达服务端时,操作系统底层具体做了什么工作来接收并保存这个文件47.&nbsp;在你代码实现的文件上传过程中,系统是同步的还是异步的,是怎么实现的48.&nbsp;如果上传的文件很大,IO耗时很长,操作系统在这个过程中能处理别的事情吗,底层是如何实现的49.&nbsp;算法手撕代码:K个一组翻转链表50.&nbsp;反问
发面经攒人品
点赞 评论 收藏
分享
评论
27
201
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务