美文网首页程序员java架构经验分享
不愧是百度的社招一二三面,JVM+spring+mysql+Zo

不愧是百度的社招一二三面,JVM+spring+mysql+Zo

作者: 程序员匡胤 | 来源:发表于2020-12-10 22:28 被阅读0次

    前言

    首先自我介绍一下,本人已经工作两年了,之前一直在一家还算可以的不大不小的公司里面上班(具体是哪家就不透露了),因为上级领导的1无情压迫终于在今年5月份待不下去了,带着下面的人一起离了职,离职后一直在家里复习充实自己,后来朋友问我有个百度的内推你要不要试试,心里想着试试就试试呗,没想到还真的拿到了offer,下面把自己的经历和资料总结一下分享给大家,也算为后辈开山铺路了吧!

    我这里准备了一线大厂面试资料和我原创的超硬核PDF技术文档,以及我为大家精心准备的多套简历模板(不断更新中),希望大家都能找到心仪的工作!有需要的朋友点击这里备注简书自行下载即可,希望对你们有帮助!

    image

    一面

    JAVA基础
    • Hashmap底层、是否线程安全、在高并发的情况下会出现什么问题?

    • 如何让hashmap安全?

    • Concurrenthashmap的底层实现

    • 反射是什么?

    • Hashmap的put时key应该注意什么(hashcode和equals)

    线程
    • 线程的实现方式

    • 线程池的参数

    • 线程的抛弃策略

    • 线程中的工作队列是否有界

    • 线程池的实现流程

    • Volatile的作用

    • 详细说一下happens-before

    • ReetrantLock和sychronized的区别

    • Sychronized的锁(偏向锁----自旋锁----重量级锁)

    • CAS出现的问题,如何解决

    JVM
    • 介绍一下什么是JMM?

    • JAVA创建对象的过程?对象头中包含什么?

    • JVM的内存区域?虚拟机栈中存着什么?

    • 垃圾回收的算法?

    • GC roots可以是哪些对象

    • 详细说一下双亲委派机制?

    • 能不能打破双亲委派机制?(自己重写classload方法,或者将查找parent设为null)

    • 类加载器有哪些?

    • 加载后的类信息存在哪个区域?

    • 说一下对象锁和类锁?

    Spring
    • 说说Spring AOP的实现

    • Spring中用到了那些设计模式

    • Spring中Bean对象的生成过程

    Mysql
    • 数据库引擎有哪些?他们之间的区别

    • MySQL的索引有哪些?

    • 什么是MVCC?

    • 发现慢查询以后如何做?

    • Explain中的关键字有哪些?(id、table、type、key、rows)

    • Hbase和MySQL的区别?

    • MySQL保证原子性?(使用undo log实现原子一致性,当事务回滚时,可以通过undo log进行回滚,如果inert,此时需要delete;他记录了回滚需要的信息)

    Zookeeper
    • 说一说Zookeeper(文件配置、集群管理、分布式锁、队列管理)(监听机制:ZooKeeper的Watcher机制主要包括客户端线程、客户端WatcherManager、Zookeeper 服务器三部分。客户端在向ZooKeeper服务器注册的同时,会将Watcher对象存储在客户端的WatcherManager当中。当ZooKeeper服务器触发Watcher事件后,会向客户端发送通知,客户端线程从WatcherManager中取出对应的Watcher对象来执行回调逻辑)选举机制:半数机制

    • Zookeeper的心跳机制

    • 了解负载均衡吗?

    二面(重点通过项目展开问题)

    • 大文件数据上传这个有没有什么改进?(多线程上传、value的静态内部类是否可以用枚举、boolean是否可以用位存储)

    • 多线程的优势和缺点?(优点:高并发、多核CPU上利用上下文切换资源少)(缺点:资源少的情况下出现死锁、缓存一致性、指令重排)

    • 你觉得CPU上可能出现指令重排吗?

    • 如果你说的这个是多线程上下文切换资源少的话,用进程不可以吗?交换数据使用共享内存

    • 假设有4个CPU,每个CPU上有一个进程,进程之间使用共享内存?你觉得不用线程是不是可以?像ngnix

    • 为什么多线程过程中是有缓存一致性?(工作内存和共享主存)

    • Volatile 如何保证内存可见性?

    • 工作内存和共享内存存在哪里?

    • 那如果存在栈中就不应该有缓存一致性呀?

    • MESI协议中有几级缓存?缓存中哪一级是私有的,哪一级是共有的?那缓存存在哪里?

    • 如何会产生死锁?

    • 那你会写一个死锁吗?

    • 写完以后你这个为什么不报错呢?

    • 打开快照,问你是否能看懂?为什么不报错?

    三面

    • 是否能来实习?
    • 未来的职业规划?
    • 你自己的的优缺点?

    最后

    最后提供免费的Java架构学习资料,学习技术内容包含有:Spring,Dubbo,MyBatis, RPC, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等。


    image
    image

    还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板可以领取+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书。有需要的朋友点击这里备注简书自行下载即可,希望对正在准备面试的你有一定的帮助,最后依然祝福大家,求妻得妻,求子得子,求offer得offer。

    相关文章

      网友评论

        本文标题:不愧是百度的社招一二三面,JVM+spring+mysql+Zo

        本文链接:https://www.haomeiwen.com/subject/ewatgktx.html