CGBTN2111-DAY17总结复习

最后的内容

在开头跟大家分享的时候我就说,面试我是没有做好准备的,全靠平时的积累,确实有点临时抱佛脚了,以至于我自己还是挺懊恼的。(准备好了或许可以拿个40k,没做准备只有30k+,你们懂那种感觉吗)

如何准备面试?

1、前期铺垫(技术沉积)

程序员面试其实是对于技术的一次摸底考试,你的技术牛逼,那你就是大爷。大厂对于技术的要求主要体现在:基础,原理,深入研究源码,广度,实战五个方面,也只有将原理理论结合实战才能把技术点吃透。

下面是我会看的一些资料笔记,希望能帮助大家由浅入深,由点到面的学习Java,应对大厂面试官的灵魂追问

这部分内容过多,小编只贴出部分内容展示给大家了,见谅见谅!

  • Java程序员必看《Java开发核心笔记(华山版)》

  • Redis学习笔记

  • Java并发编程学习笔记

四部分,详细拆分并发编程——并发编程+模式篇+应用篇+原理篇

  • Java程序员必看书籍《深入理解 ava虚拟机第3版》(pdf版)

  • 大厂面试必问——数据结构与算法汇集笔记

其他像Spring,SpringBoot,SpringCloud,SpringCloudAlibaba,Dubbo,Zookeeper,Kafka,RocketMQ,RabbitMQ,Netty,MySQL,Docker,K8s等等我都整理好,这里就不一一展示了。

2、狂刷面试题

技术主要是体现在平时的积累实用,面试前准备两个月的时间再好好复习一遍,紧接着就可以刷面试题了,下面这些面试题都是小编精心整理的,贴给大家看看。

①大厂高频45道笔试题(智商题)

②BAT大厂面试总结(部分内容截图)

③面试总结

3、结合实际,修改简历

程序员的简历一定要多下一些功夫,尤其是对一些字眼要再三斟酌,如“精通、熟悉、了解”这三者的区别一定要区分清楚,否则就是在给自己挖坑了。当然不会包装,我可以将我的简历给你参考参考,如果还不够,那下面这些简历模板任你挑选:

以上分享,希望大家可以在金三银四跳槽季找到一份好工作,但千万也记住,技术一定是平时工作种累计或者自学(或报班跟着老师学)通过实战累计的,千万不要临时抱佛脚。

另外,面试中遇到不会的问题不妨尝试讲讲自己的思路,因为有些问题不是考察我们的编程能力,而是逻辑思维表达能力;最后平时要进行自我分析与评价,做好职业规划,不断摸索,提高自己的编程能力和抽象思维能力。

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

  1. 加锁的范围需要认真考虑

不能太大,也不能太小,太大浪费效率,太小锁不住

5.多线程售票案例中问题的解决方案:

1.创建4个线程对象,售卖400张票:

解决方案:将票数设置为静态,被全局所有对象共享

2.票数出现了重卖(一张票卖给了多个人)的现象:

解决方案:使用同步代码块,确保一次只有一个线程卖票

3.票数出现了超卖(卖出了超出范围的票0 -1 -2)的现象:

解决方案:优化代码逻辑,有票的时候再卖票,没票的时候就停止,有多种方案,以测试结果为准即可。

详细代码与笔记请参照:

多线程售票案例与同步锁解决方案详细笔记 点这里

2 线程的创建方式3

================================================================================

多线程编程实现方案三:Executors 创建线程池的方式

  1. 创建线程池的工具类:

Executors.newFixedThreadPool(int n);可以创建包含最多n个线程的线程池对象

  1. 创建好的线程池对象:ExecutorService

使用pool.excute()来讲线程池中的线程以多线程的方式启动,每次调用都会将一个线程对象加入到就绪队列之中

这个线程池对象负责: 新建/启动/关闭线程,而我们主要负责的是自定义的业务

注意:线程池是不关闭的,实现的效果就是线程池中线程对象的随取随用,这样就避免了频繁的创建与销毁线程,不会造成资源浪费

  1. 合理利用线程池可以拥有的优势:

1. 降低系统的资源消耗:减少系统创建与销毁线程对象的次数,每个线程都可以重复利用,执行多次任务

2. 提高响应速度:当任务到达时,任务可以不用等待线程创建就能立即执行

3. 提高线程的可管理性:可以根据系统的承受能力,调整线程池中线程的数目

防止因为创建多个线程消耗过多的内存导致服务器的崩溃

【每个线程大约需要1MB的内存,线程开的越多,消耗的内存也就越大,最后死机】

3 设计模式

============================================================================

  1. 概念:是一些前人总结出来的值得学习的编程“套路”,设计模式一共有23种

  2. 单例设计模式:确保代码中本类的实例只有一个

  3. 实现思路:

方案一:饿汉式

1)把本类的构造方法私有化–为了不让外界调用构造函数来创建对象

2)通过本类的构造方法创建对象,并把这个对象也私有化,为了防止外界调用

3)提供公共的全局访问点向外界返回本类的唯一的一个对象

注意:公共方法需要设置成静态–需要跳过对象,通过类名直接调用这个返回本类对象的公共方法

对象也需要设置成静态的–这个对象需要在静态方法中被返回,而静态只能调用静态

4.注解

==========================================================================

1.JDK自带的注解(5个)

要求大家掌握的是@Override注解,这个注解可以加在方法上,用来表示这是一个重写的方法

2.元注解5个

元注解是用来定义其他注解的注解,也就是说,注解的语法与JAVA不同,是靠注解来定义的

  1. 定义注解的格式:@interface 注解名

  2. 可以根据元注解对注解进行设置:

要求大家掌握的是

表示被描述的注解可以使用的位置:值可以多选

@Target({ElementType.TYPE,ElementType.FIELD,ElementType.METHOD})

表示被描述的注解的声明周期:注意值只能3选1

@Retention(RentionPolicy.RUNTIME/SOURCE/CLASS)

3.自定义注解
  1. 我们也可以根据自己的需求来定义个性化的注解

使用的是@interface 注解名来定义的,主要使用的就是上面的两个元注解

  1. 除此之外,我们还可以给注解加功能,比如注解的属性:

格式:属性类型 属性名(); 比如:int age();

注意:定义了注解的普通属性以后,使用注解时必须给属性赋值,格式:@Rice(age=10)

分享

首先分享一份学习大纲,内容较多,涵盖了互联网行业所有的流行以及核心技术,以截图形式分享:

(亿级流量性能调优实战+一线大厂分布式实战+架构师筑基必备技能+设计思想开源框架解读+性能直线提升架构技术+高效存储让项目性能起飞+分布式扩展到微服务架构…实在是太多了)

其次分享一些技术知识,以截图形式分享一部分:

Tomcat架构解析:

算法训练+高分宝典:

Spring Cloud+Docker微服务实战:

最后分享一波面试资料:

切莫死记硬背,小心面试官直接让你出门右拐

1000道互联网Java面试题:

Java高级架构面试知识整理:

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

mg-qWjCN5qo-1715821998014)]

Java高级架构面试知识整理:

[外链图片转存中…(img-Q2OqMwNH-1715821998014)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值