30岁转行程序员,我的华为面试经历分享

编程入门 行业动态 更新时间:2024-10-20 08:39:11

30岁转行程序员,我的<a href=https://www.elefans.com/category/jswz/34/1769368.html style=华为面试经历分享"/>

30岁转行程序员,我的华为面试经历分享

前言

前段时间,我向一位在阿里的朋友寻求进大厂的秘诀,他分享给我一份阿里内部资料——JAVA核心进阶手册,仔细翻阅一番才知道里面收纳整理的知识可真是齐全,不得不来感叹一番…

我将JAVA核心进阶手册大致分为以下5篇内容

  • 基础:多线程+网络+数据结构与算法+MySQL+Tomcat
  • 框架:设计模式+Spring+SpringMVC+MyBatis
  • 分布式架构:限流(ZK/Nginx)+缓存(Redis/MongoDB/Memcached)+通讯(MQ/kafka)
  • 微服务架构:RPC+SpringBoot+SpringCloud+Dubbo+K8s
  • 调优:JVM+MySQL+Tomcat

一、先来解读:23种设计模式要点

1.单例模式(Singleton Pattern)

2.工厂模式

3.抽象工厂模式(Abstract Factory Pattern)

4.模板方法模式(Template Method Pattern)

5.建造者模式(Builder Pattern)

6.代理模式(Proxy Pattern)

7.原型模式(Prototype Pattern)

8.中介者模式

9.命令模式

10.责任链模式

11.装饰模式(Decorator Pattern)

12.策略模式(Strategy Pattern)

13.适配器模式(Adapter Pattern)

14.迭代器模式(Iterator Pattern)

15.组合模式((Composite Pattern))

16.观察者模式(Observer Pattern)

17.门面模式(Facade Pattern)

18.备忘录模式(Memento Pattern)

19.访问者模式(Visitor Pattern)

20.状态模式(复杂)

21.解释器模式(Interpreter Pattern)(少用)

22.享元模式(Flyweight Pattern)

23.桥梁模式(Bridge Pattern)

… …

二、六大设计原则(来源:《您的设计模式》)

  • 单一职责原则【Single Responsibility Principle】

  • 里氏替换原则【Liskov Substitution Principle】

  • 依赖倒置原则【Dependence Inversion Principle】

  • 接口隔离原则【Interface Segregation Principle】

  • 迪米特法则【Low Of Demeter】

  • 开闭原则【Open Close Principle】

三、《大话设计模式》

通篇是以情景对话的形式,用一个又一个的小故事或者编程示例来组织的。共分为四个部分…

  • 第一部分是面向对象的意义和好处以及几个重要的设计原则,通过小菜面试的失败引出;

  • 第二部分是详细讲解23个设计模式;

  • 第三部分是对设计模式的总结,利用小菜梦想到的超级模式大赛的场景,把所有的面向对象和模式概念都拟人化来趣味总结设计模式之间的异同和关键点;

  • 第四部分是附录,主要是针对对面向对象不熟悉者的一个补充,通过一个例子的演变介绍了类、封装、继承、多态、接口、事件等概念。

内容偏多,篇幅有限,先上一份总目录看看大概的内容有哪些…

四、面试常问的设计模式

  • 请列举出在 JDK 中几个常用的设计模式?

  • 什么是设计模式?你是否在你的代码里面使用过任

  • Java 中什么叫单例设计模式?请用 Java 写出线程安全的单例模式

  • 在 Java 中,什么叫观察者设计模式(observer design pattern

  • 使用工厂模式最主要的好处是什么?在哪里使用?

  • 举一个用 Java 实现的装饰模式(decorator design pattern) ?它是作用于对象层次还是类层次?

  • 在 Java 中,为什么不允许从静态方法中访问非静态变量?

  • 设计一个 ATM 机,请说出你的设计思路?

  • 在 Java 中,什么时候用重载,什么时候用重写?

  • 举例说明什么情况下会更倾向于使用抽象类而不是接口?

  • … …

如何快速更新自己的技术积累?

  • 在现有的项目里,深挖技术,比如用到netty可以把相关底层代码和要点都看起来。
  • 如果不知道目前的努力方向,就看自己的领导或公司里技术强的人在学什么。
  • 知道努力方向后不知道该怎么学,就到处去找相关资料然后练习。
  • 学习以后不知道有没有学成,则可以通过面试去检验。

我个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事。所以,劝各位不要因为面试失败而灰心、丧失斗志。也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油!

以上面试专题的答小编案整理成面试文档了,文档里有答案详解,以及其他一些大厂面试题目,有需要的朋友点击这里即可免费领取

答案详解,以及其他一些大厂面试题目,有需要的朋友点击这里即可免费领取**

[外链图片转存中…(img-H4JBVzga-1621217531904)]

[外链图片转存中…(img-H0s9iE9N-1621217531904)]

更多推荐

30岁转行程序员,我的华为面试经历分享

本文发布于:2024-02-25 03:07:57,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1697579.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:华为   程序员

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!