java手撕分享

有一次面试,面试官直接让我手撕一道经典题——两数之和。题目不复杂,但要求我当场写出思路清晰、可运行的Java代码。

我先说了解题思路:用 HashMap 存已经遍历过的数和下标,再一边遍历一边查找目标差值。写代码时我刻意放慢速度,把变量命名写清楚,同时不断口头解释时间复杂度和边界情况。

代码写完后,面试官没有纠结细节,而是追问我为什么不用双重循环、HashMap 的空间开销是否能接受。那一刻我意识到,手撕代码考的不是你敲得有多快,而是你是否真正理解问题。

这次经历让我明白,Java手撕题真正重要的是思路表达和基本功,而不是背模板。

#一人分享一道面试手撕题#
全部评论
好讨厌 算法题啊
1 回复 分享
发布于 01-11 17:18 陕西
这次面试过了不
点赞 回复 分享
发布于 02-04 08:44 湖北
那你这次的面试通过没
点赞 回复 分享
发布于 01-23 19:29 陕西
你这是哪家的
点赞 回复 分享
发布于 01-11 21:20 陕西
至少你还是有明确的思路的
点赞 回复 分享
发布于 01-11 16:02 广东
思路很清晰
点赞 回复 分享
发布于 01-11 11:31 北京

相关推荐

01-09 00:38
门头沟学院 Java
一面: 1. RabbitMQ怎么保证消息的可靠性? 生产者这方面的这个回调是指什么回调?2. synchronized 的这个锁的加锁的方式?  锁住的范围有什么不同3. synchornized加锁的过程?4. 锁升级流程?5. synchronize 是一个公平锁吗?6. CAS会存在什么问题?怎么解决7. 介绍JVM常见的垃圾回收算法8. CMS 和 G1 回收器的区别是啥9. CMS 浮动垃圾问题?10. G1 是怎么做STW 时间预测的?11. MVCC 是怎么实现可重复读的?12. 介绍MySQL 里的 binlog, redolog, undolog13. 这个 redo log 和 redo log 在这个发生这个 crash 的时候,他们俩是怎么配合去恢复保证这个数据的一致性的?14. 平常用 Redis 的话主要是用在什么场景?用了缓存的话也没有遇到一些什么问题。15. 如何解决缓存DB一致性问题? 缓存删除失败了怎么办?16. 分布式事务常用的有哪些方法?手撕:二叉树的最小深度二面:1. 异步或者并发编程里面通常会出现这种可见性问题是什么原因导致的? 应该怎么解决?  除了volatile,还有什么其他方法解决可见性?(从Java内存模型角度回答   解决方法:volatile, 锁,原子类)2. 线程池它底层是如何去运行的?3. 线程池里的线程它把任务执行完之后,它接着干嘛?4. 场景题1:有一个银行转账,比方说a、b、 c 三个账户,每个账户都有 200 块钱,我 a 账户去给 b 账户转 100 块钱, b 账户给 c 账户转 100 块钱,然后他们同时去转账,我如何去保证他的账户数据安全或者正确?(事务 + 行锁写锁(select * from xx for update)  )5. mysql什么样的数据结构能够作为索引的存储结构?6. 什么场景我应该用 b+树?什么场景我应该 b 树?什么场景我应该用哈希。7. Mysql 的索引,它在什么场景下它会失效?8. 假如说我要把一个树状结构存储到 Mysql 数据库中,怎么去存呢?9. 假如说我有 1, 000 万个学生,对吧?嗯,学生有学号、姓名、年龄,我按年龄上加了一个二级索引,我再按年龄从小到大去排序,我要查询到第 900 万个学生怎么去查?10. HTTP状态码代表的含义11. Redis 的话怎么是去保证数据的可靠性的?RDB 的过程中它会阻塞主线程吗?12. Redis 持久化中,异步过程如果有新的数据写入,它是怎么处理的?13. 了解哪些限流算法吗?14. 实现一个限流工具要怎么去做?手撕: 三数之和
发面经攒人品
点赞 评论 收藏
分享
评论
2
3
分享

创作者周榜

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