尚硅谷全套Java教程,成功收获美团,小米offer
2021/7/5 14:12:15
本文主要是介绍尚硅谷全套Java教程,成功收获美团,小米offer,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
# **蚂蚁金服** **一面** 算法题,给了长度为N的有重复元素的数组,要求输出第10大的数。 需要在2小时内完成。 **二面** 自我介绍 目前在部门做什么,业务简单介绍下,内部有哪些系统,作用和交互过程说下 Dubbo踩过哪些坑,怎么解决的? 对线程安全的理解 乐观锁和悲观锁的区别? 这两种锁在Java和MySQL分别是怎么实现的? 事务有哪些特性? 怎么理解原子性? HashMap为什么不是线程安全的? 怎么让HashMap变得线程安全? jdk1.8对ConcurrentHashMap做了哪些优化? redis主从机制了解么?怎么实现的? 有过GC调优的经历么? 有什么想问的 **三面** 自我介绍 接下来就是全部问的项目,对自己的项目细节逐个盘问,最后问了下如何改进方案 有什么想问我么? **四面** 介绍下自己 问项目 说说Spring的生命周期吧 说说GC的过程 强制young gc会有什么问题? 知道G1么? 回收过程是怎么样的? 你提到的Remember Set底层是怎么实现的? CMS GC有什么问题? 怎么避免产生浮动垃圾? 有什么想问的么? **五面** HRBP面,主要聊了部门在做的事情、职业发展、福利待遇等。阿里面试官有一票否决权,很看重你的价值观是否match。 HR面一定要诚实,不要说谎,只要你说谎HR都会去证实。 最后HR还对我说目前稳定性保障部挺缺人的,希望我尽快回复。 # **小结** 蚂蚁面试比较重视基础,所以Java那些基本功一定要扎实。 # **拼多多** **一面** 聊项目 Java中的HashMap、TreeMap解释下? TreeMap查询写入的时间复杂度多少? ConcurrentHashMap怎么实现线程安全的? HashMap多线程有什么问题?怎么解决? CAS和synchronize有什么区别?都用synchronize不行么? get需要加锁么,为什么? volatile的作用是什么? 给我一张纸,画了一个九方格,都填了数字,给一个MN矩阵,从1开始逆时针打印这MN个数,要求时间复杂度尽可能低,可以先说下思路 有什么想问我的? **二面** 自我介绍下 手上还有其他offer么? 部门组织结构是怎样的? 系统有哪些模块,每个模块用了哪些技术,数据怎么流转的?给了我一张纸,我在上面简单画了下系统之间的流转情况 链路追踪的信息是怎么传递的? SpanId怎么保证唯一性? RpcContext是在什么维度传递的? Dubbo的远程调用怎么实现的? Spring的单例是怎么实现的? 为什么要单独实现一个服务治理框架? 谁主导的?内部还在使用么? 逆向有想过怎么做成通用么? 有什么想问的 **HR面** 主要问了些职业发展、是否有其他offer、以及入职意向等问题,顺便说了下公司的福利待遇等,手上有其他offer或者大厂经历会有一定加分。 # **字节跳动** **一面** 自我介绍 聊项目 Redis熟悉么,了解哪些数据结构? zset底层怎么实现的? 红黑树了解么,时间复杂度? 既然两个数据结构时间复杂度都是O(logN),zset为什么不用红黑树 线程池的线程数怎么确定? 如果是IO操作为主怎么确定? 如果计算型操作又怎么确定? 跳表的查询过程是怎么样的,查询和插入的时间复杂度? 说下Dubbo的原理? CAS了解么?还了解其他同步机制么? 做题:数组A,2*n个元素,n个奇数、n个偶数,设计一个算法,使得数组奇数下标位置放置的都是奇数,偶数下标位置放置的都是偶数。先说下你的思路 你有什么想问我的? **二面** 自我介绍 问项目 分布式追踪的上下文是怎么存储和传递的? SpringMVC不同用户登录的信息怎么保证线程安全的? 我们聊聊mysql吧,说下索引结构,为什么使用B+树? Dubbo的RpcContext是怎么传递的?主线程的ThreadLocal怎么传递到线程池?你说的内存泄漏具体是怎么产生的? 线程池的线程是不是必须手动remove才可以回收value?那你说的内存泄漏是指主线程还是线程池? 什么是索引覆盖? Java为什么要设计双亲委派模型? 什么时候需要自定义类加载器? 做题:手写一个对象池 有什么想问我的 # **小结** 头条的面试确实很专业,而且面试官最后给我了一点建议,就是研究技术的时候一定要结合技术的背景。 面试官都有一个特点,会抓住一个值得深入的点或者你没说清楚的点深入下去直到你把这个点讲清楚,不然面试官会觉得你并没有真正理解。 # 如何快速更新自己的技术积累? * 在现有的项目里,深挖技术,比如用到netty可以把相关底层代码和要点都看起来。 * 如果不知道目前的努力方向,就看自己的领导或公司里技术强的人在学什么。 * 知道努力方向后不知道该怎么学,就到处去找相关资料然后练习。 * 学习以后不知道有没有学成,则可以通过面试去检验。 **我个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事。所以,劝各位不要因为面试失败而灰心、丧失斗志。也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油!** **以上面试专题的答小编案整理成面试文档了,文档里有答案详解,以及其他一些大厂面试题目,有需要的朋友[点击这里即可免费领取](https://docs.qq.com/doc/DSmxTbFJ1cmN1R2dB)** ![八年CRUD,疫情备战三个月,三面头条、四面阿里拿offer面经分享](http://www.www.zyiz.net/i/li/?n=2&i=images/20210705/1625464143524179.jpg) ![八年CRUD,疫情备战三个月,三面头条、四面阿里拿offer面经分享](http://www.www.zyiz.net/i/li/?n=2&i=images/20210705/1625464143416281.jpg)这篇关于尚硅谷全套Java教程,成功收获美团,小米offer的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南