开头
在开始正文之前,请你先思考几个问题:
-
你项目中有使用哪些 GOF 设计模式
-
说一说 GOF 23 种设计模式的设计理念
- 说说 Spring 框架中如何实现设计模式
假设我是面试官问起了你这些面试题,你该如何回答呢,请先思考一分钟。
好的,我们开始进入正题。设计模式实践里面提供了许多经久不衰的解决方案和最佳方案。这里,GOF 设计模式主要分为三大类:创建模式、结构模式和行为模式。创建模式对于创建对象实例非常有用。结构模式通过处理类或对象的组合来作用于企业级应用的设计结构,从而降低了应用的复杂性,提高了应用的可重用性和性能。行为模式的意图是一组对象之间的交互作用,以执行单个对象无法自己执行的任务。它描述了类或对象交互以及职责的分配。
那么,本文的核心话题是 Spring 如何通过使用大量设计模式和良好实践来构建应用程序。
HUAWEI-Java一面-1H
闲聊偏多,问的技术性问题比较基础
- 简单说说面向对象的特征以及六大原则
- 谈谈final、finally、finalize的区别
- Java中==、equals与hashCode的区别和联系
- 谈谈Java容器ArrayList、LinkedList、·HashMap、HashSet的理解,以及应用场景
- 谈谈线程的基本状态,其中的wait() sleep() yield()方法的区别。
- ... ...
HUAWEI-Java二面 -0.5H
问题深入一些,开始加难度
- JVM性能调优的监控工具了解那些?
- 简单谈谈JVM内存模型,以及volatile关键字
- 垃圾收集器与内存分配策略
- 垃圾收集算法
- MySQL几种常用的存储引擎区别
- 数据库的隔离级别
- 算法:5亿整数的大文件,怎么排?
- ... ...
HUAWEI-Java三面-0.5H
三面问题更为细致了,考察项目经验更多
- Java内存模型
- full gc怎么触发
- gc算法
- JVM回收策略
- ClassLoader原理和应用
- 高吞吐量的话用哪种gc算法
- ConcurrentHashMap和HashMap
- volatile的底层如何实现,怎么就能保住可见性了?
- 有参与过开源的项目吗?
- 线程池原理,拒绝策略,核心线程数
- 1亿个手机号码,判断重复
- 线程之间的交互方式有哪些?有没有线程交互的封装类
HUAWEI-Java4面-1H
重点考察全局观和应急处置
- 项目介绍
- 两次点击,怎么防止重复下订单
- 数据库表设计,索引
- Redis的缓存淘汰策略、更新策略
- dubbo、netty、RPC介绍原理
- 限流算法
- zk挂了怎么办
- 分布式锁的实现方式,zk实现和Redis实现的比较
- 秒杀场景设计,应付突然的爆发流量
- 分布式数据一致性
- 一致性哈希
- 消息队列原理介绍
- 注解的原理
- 数据库原理,数据库中间件,索引优化
- ioc原理、aop原理和应用
- 大数据相关,MapReduce
- Docker的原理
HUAWEI-Java5面-HR面
HR面这边就略过了,一般问来问去就那几个,没啥好讨论的
看完上述的面试经历,不知你会作何感受?不过给我的最大冲击力就是“面试造火箭,工作拧螺丝” “基础不牢,地动山摇” 说的是真真的有理!如果你深感自己技术不牢固,基础不扎实,刷题不够多,那我建议你往下听我继续分享!
《一线大厂Java面试真题解析+Java核心总结学习笔记+最新全套讲解视频+实战项目源码》开源
Java优秀开源项目:
-
ali1024.coding.net/public/P7/Java/git
- github.com/spring-projects
总结
我们总是喜欢瞻仰大厂的大神们,但实际上大神也不过凡人,与菜鸟程序员相比,也就多花了几分心思,如果你再不努力,差距也只会越来越大。
面试题多多少少对于你接下来所要做的事肯定有点帮助,但我更希望你能透过面试题去总结自己的不足,以提高自己核心技术竞争力。每一次面试经历都是对你技术的扫盲,面试后的复盘总结效果是极好的!