栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java数据结构与算法面试,java面试手写代码

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java数据结构与算法面试,java面试手写代码

前言

总有一天你会明白,你的努力终究没有白费

年前辞职,人算不如天算,突如其来的疫情完全把自己的计划给打碎了,面试难度简直不亚于一场江苏高考题,后悔、焦虑不安、失眠成了我的生活状态。

从三月底开始投递简历,甭管是什么公司,只要薪资待遇跟之前差不多我都投了。最气人的一次面试经历是一个小公司的HR约我面试,我过去了,填完表格,还没到技术面呢,她看到我的期望薪资是15k+,直接来了一句:“不好意思,我们最多只能给到10k+,所以,您可能不太适合。“我:”???”

慢慢开始怀疑自己了,是不是自己的技术不够好?是不是自己对技术理解的不够深入等等之类…身边的朋友有进美团的,有进腾讯的,再看看自己就有一种挫败感~~~

于是,我打了个电话向他们请教请教,他们也用各自的经验给了我一些方向。总之,加油吧!!!

蚂蚁花呗第一次技术面(60min):
  1. Java容器有哪些?哪些是同步容器,哪些是并发容器?
  2. ArrayList和LinkedList的插入和访问的时间复杂度?
  3. java反射原理, 注解原理?
  4. 说说一致性 Hash 原理
  5. 新生代分为几个区?使用什么算法进行垃圾回收?为什么使用这个算法?
  6. HashMap在什么情况下会扩容,或者有哪些操作会导致扩容?
  7. HashMap push方法的执行过程?
  8. HashMap检测到hash冲突后,将元素插入在链表的末尾还是开头?
  9. 1.8还采用了红黑树,讲讲红黑树的特性,为什么人家一定要用红黑树而不是AVL、B树之类的?
  10. https和http区别,有没有用过其他安全传输手段?
  11. 线程池的工作原理,几个重要参数,然后给了具体几个参数分析线程池会怎么做,最后问阻塞队列的作用是什么?
  12. linux怎么查看系统负载情况?
  13. 请详细描述springmvc处理请求全流程?
  14. spring 一个bean装配的过程?
  15. 项目用 Spring 比较多,有没有了解 Spring 的原理?AOP 和 IOC 的原理

一面一共问了15个问题,信息量还是很大的,但是可以看到这些问题都不算难,主要是考察基础知识的掌握情况,这一轮面试的难度数据一面的正常难度,持续的时长也算是正常范围。

蚂蚁花呗二次技术面(30min)
  1. 查询中哪些情况不会使用索引?
  2. 数据库索引,底层是怎样实现的,为什么要用B树索引?
  3. Mysql主从同步的实现原理?
  4. MySQL是怎么用B+树?
  5. 谈谈数据库乐观锁与悲观锁?
  6. 有使用过哪些NoSQL数据库?MongoDB和Redis适用哪些场景?
  7. 描述分布式事务之TCC服务设计?
  8. Redis和memcache有什么区别?Redis为什么比memcache有优势?
  9. Redis 的数据结构
  10. 海量数据过滤,黑名单过滤一个 url。
  11. 讲一讲AtomicInteger,为什么要用CAS而不是synchronized?
蚂蚁花呗三次技术面(25min)
  1. 考虑redis的时候,有没有考虑容量?大概数据量会有多少?
  2. Redis 的 list zset 的底层实现
  3. solr和mongodb的区别,存数据为什么不用solr?
  4. 分布式 session 的共享方案有哪些,有什么优劣势
  5. 谈谈分布式锁、以及分布式全局唯一ID的实现比较?
  6. 集群监控的时候,重点需要关注哪些技术指标?这些指标如何优化?
  7. 从千万的数据到亿级的数据,会面临哪些技术挑战?你的技术解决思路?
  8. 数据库分库分表需要怎样来实现?
  9. 排序算法的复杂度,快速排序非递归实现。
  10. 消息中间件有哪些?他们之间的优劣势?
蚂蚁花呗四次技术面(15min)
  1. 分布式架构设计哪方面比较熟悉
  2. 介绍你实践的性能优化案例,以及你的优化思路
  3. 介绍项目
  4. 谈一个你觉得你学到最多的项目,使用了什么技术,挑战在哪里
  5. 各种聊项目,从项目的架构设计到部署流程。
  6. 最近有没有学习过新技术?
  7. 有什么想问我的?
  8. 最近两年遇到的最大的挫折,从挫折中学到了什么?
  9. 三年到五年的职业规划?
HR面

1.工作中遇到的最大挑战是什么,你如何克服的?

2.你最大的优点和最大的缺点,各自说一个?

3.未来的职业发展,短期和长期的规划是什么?

最后,你懂的,主要就是HR走流程了,主要问了未来的职业规划。

最后我们该如何学习?

1、看视频进行系统学习

这几年的Crud经历,让我明白自己真的算是菜鸡中的战斗机,也正因为Crud,导致自己技术比较零散,也不够深入不够系统,所以重新进行学习是很有必要的。我差的是系统知识,差的结构框架和思路,所以通过视频来学习,效果更好,也更全面。关于视频学习,个人可以推荐去B站进行学习,B站上有很多学习视频,唯一的缺点就是免费的容易过时。

另外,我自己也珍藏了好几套视频资料躺在网盘里,有需要的我也可以分享给你:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AliQoVDJ-1651293786049)(https://upload-images.jianshu.io/upload_images/24616006-025e2092e2a0ae83?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

2、读源码,看实战笔记,学习大神思路

“编程语言是程序员的表达的方式,而架构是程序员对世界的认知”。所以,程序员要想快速认知并学习架构,读源码是必不可少的。阅读源码,是解决问题 + 理解事物,更重要的:看到源码背后的想法;程序员说:读万行源码,行万种实践。

Spring源码深度解析:

Mybatis 3源码深度解析:

Redis学习笔记:

Spring Boot核心技术-笔记:

3、面试前夕,刷题冲刺

面试的前一周时间内,就可以开始刷题冲刺了。请记住,刷题的时候,技术的优先,算法的看些基本的,比如排序等即可,而智力题,除非是校招,否则一般不怎么会问。

关于面试刷题,我个人也准备了一套系统的面试题,帮助你举一反三:

只有技术过硬,在哪儿都不愁就业,“万般带不去,唯有业随身”学习本来就不是在课堂那几年说了算,而是在人生的旅途中不间断的事情。

人生短暂,别稀里糊涂的活一辈子,不要将就。
链图片转存中…(img-8SXcHFX4-1651293786052)]

只有技术过硬,在哪儿都不愁就业,“万般带不去,唯有业随身”学习本来就不是在课堂那几年说了算,而是在人生的旅途中不间断的事情。

人生短暂,别稀里糊涂的活一辈子,不要将就。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/848236.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号