成功入职百度月薪35K,一文全懂
Posted springboot面试题
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了成功入职百度月薪35K,一文全懂相关的知识,希望对你有一定的参考价值。
开头
最近一个哥们去面试某当红大厂了,其中几个他印象深刻的面试题你们品品:
1、介绍下如何对mysql SQL语句进行分析和优化?
2、Redis 怎样实现的分布式锁?
3、如何实现本地缓存和分布式缓存?
4、说一下 JVM 的内存布局和运行原理?
5、RocketMQ 是怎么存储消息的?源码中有哪些高可用、高性能的设计?
面试官不愧是大佬,一层接一层的问过来,问完**“Redis 怎样实现的分布式锁”又问“单机锁有哪些?它为什么不能在分布式环境下使用?”**
由于平时只是改改以前的框架代码,哥们当场懵逼!面完瞬间觉得自己的技术弱爆了!结果当然是挂!
蚂蚁金服一面:
下午杭州的电话,问有没有空,果断有空,虽然感觉略显紧张,有点懵逼。
面试的题目:
- HashMap和Hashtable的区别
- 实现一个保证迭代顺序的HashMap
- 说一说排序算法,稳定性,复杂度
- 说一说GC
- 可以保证的实习时长
- 职业规划
整体来说,一面的基础性问题比较多,所以博主基本都答出来了,准备过还是有些用处的。所以一面完了感觉还不错,接着第二天下午就二面了。
蚂蚁金服二面
二面是我最慌的面试,因为二面是最关键的,是最大的主管面试,所以非常关键,整体来说,二面的节奏非常快,和一面完全不同,面试官很希望我言简意赅的说完答案,所以面的不算很好,当时完了又以为GG了,好在最后还是幸运的过了,面试问题如下:
- 自我介绍。
- JVM如何加载一个类的过程,双亲委派模型中有哪些方法?
- HashMap如何实现的?
- HashMap和Concurrent HashMap区别, Concurrent HashMap 线程安全吗, Concurrent HashMap如何保证 线程安全?
- HashMap和HashTable 区别,HashTable线程安全吗?
- 进程间通信有哪几种方式?
- JVM分为哪些区,每一个区干吗的?
- JVM如何GC,新生代,老年代,持久代,都存储哪些东西?
- GC用的引用可达性分析算法中,哪些对象可作为GC Roots对象?
- 快速排序,过程,复杂度?
- 什么是二叉平衡树,如何插入节点,删除节点,说出关键步骤。
- TCP如何保证可靠传输?三次握手过程?
- TCP和UDP区别?
- 滑动窗口算法?
- Linux下如何进行进程调度的?
- Linux下你常用的命令有哪些?
- 操作系统什么情况下会死锁?
- 常用的hash算法有哪些?
- 什么是一致性哈希?
- 如何理解分布式锁?
- 数据库中的范式有哪些?
- 数据库中的索引的结构?什么情况下适合建索引?
- Java中的NIO,BIO,AIO分别是什么?
- 用什么工具调试程序?JConsole,用过吗?
- 现在JVM中有一个线程挂起了,如何用工具查出原因?
- 线程同步与阻塞的关系?同步一定阻塞吗?阻塞一定同步吗?
- 同步和异步有什么区别?
- 线程池用过吗?
- 如何创建单例模式?说了双重检查,他说不是线程安全的。如何高效的创建一个线程安全的单例?
- concurrent包下面,都用过什么?
- 常用的数据库有哪些?redis用过吗?
- 了解hadoop吗?说说hadoop的组件有哪些?hdfs,hive,hbase,zookeeper。说下mapreduce编程模型。
- 你知道的开源协议有哪些?
- 你知道的开源软件有哪些?
- 你最近在看的书有哪些?
- 你有什么问题要问我吗?
- 了解哪些设计模式?说说都用过哪些设计模式
- 如何判断一个单链表是否有环?
- 操作系统如何进行分页调度?
- 匿名内部类是什么?如何访问在其外面定义的变量?
二面面试官问的很急,我答的也快,所以有两个问题答的不好,但是面试官让我觉得有一种肃然起敬的感觉,因为他说话比较快,但是都能说到点子上,最关键的说的话非常让人容易接受。
二面过了,当天晚上我就接到了三面的电话(阿里的效率真的让我瞠目结舌)
蚂蚁金服三面
三面已经是交叉面试了,基本都围绕我的项目展开,我经过前面几次的面试之后,这个时候已经拥有了很高的面试经验值了,所以三面的时候我一点不慌了,回答问题非常稳重,三面的问题如下:
- 自我介绍,做过什么项目。
- java虚拟机的区域如何划分,每一个区的动能,这一块自由发挥。
- 双亲委派模型中,从顶层到底层,都是哪些类加载器,分别加载哪些类?
- 有没有可能父类加载器和子类加载器,加载同一个类?如果加载同一个类,该使用哪一个类?
- HashMap的结构,get(),put()是如何实现的?HashMap有哪些问题?
- ConcurrentHashMap的get(),put(),又是如何实现的?ConcurrentHashMap有哪些问题? ConcurrentHashMap的锁是读锁还是写锁?
- HashMap与HashTable的区别
- sleep()和wait()分别是哪个类的方法,有什么区别?synchronized底层如何实现的?用在代码块和方法上有什么区别?
- 什么是线程池?如果让你设计一个动态大小的线程池,如何设计,应该有哪些方法?
- 什么是死锁?JVM线程死锁,你该如何判断是因为什么?如果用VisualVM,dump线程信息出来,会有哪些信息?这一块问的很多…问的我懵了. 因为并没有实际操作过 = =
- 查看jvm虚拟机里面堆、线程的信息,你用过什么命令?我只用过图形界面VisualVM。。。
- 垃圾回收算法有哪些?CMS知道吗?如何工作的?
- 数据库中什么是事务?事务的隔离级别?事务的四个特性?什么是脏读,幻读,不可重复读?
- 数据库索引的结构有哪些?我说B树和B+树,他说只有这两个吗。我又说全文倒排索引。然后介绍B+树的结构。
- 数据库中的分页查询语句怎么写?
- 什么是一致性哈希?用来解决什么问题?
- Redis的存储结构,或者说如何工作的,与mysql的区别?有哪些数据类型?
- 项目中用到redis,为什么选用redis,了解其他NoSQL数据库吗?在你的项目中是如何运用redis的?key是什么,value是什么?
- 归并排序的过程?时间复杂度?空间复杂度?
- 你平常用什么排序?快速排序。说说在那些场景下适用,哪些场景下不适用。
- 你在项目中做什么?因为我用到Solr,他就问我Solr是如何工作的?
Ending
Tip:由于文章篇幅有限制,下面还有20个关于MySQL的问题,我都复盘整理成一份pdf文档了,后面的内容我就把剩下的问题的目录展示给大家看一下,点击这里即可解锁全部内容!
如果觉得有帮助不妨【转发+点赞+关注】支持我,后续会为大家带来更多的技术类文章以及学习类文章!(阿里对MySQL底层实现以及索引实现问的很多)
类文章以及学习类文章!**(阿里对MySQL底层实现以及索引实现问的很多)
[外链图片转存中…(img-ATDF3Byp-1621505892273)]
[外链图片转存中…(img-BWPNSXjG-1621505892275)]
吃透后这份pdf,你同样可以跟面试官侃侃而谈MySQL。其实像阿里p7岗位的需求也没那么难(但也不简单),扎实的Java基础+无短板知识面+对某几个开源技术有深度学习+阅读过源码+算法刷题,这一套下来p7岗差不多没什么问题,还是希望大家都能拿到高薪offer吧。
以上是关于成功入职百度月薪35K,一文全懂的主要内容,如果未能解决你的问题,请参考以下文章