金三银四,Java后端开发全面试攻略,吃透年后冲刺大厂

2025华为通用软件Java岗面试高频考点与备考攻略 在Java后端开发岗位的面试中,技术基础、原理深挖与实战经验始终是考核的核心维度。扎实掌握集合框架、并发编程、JVM内存模型等底层机制,理解其设计原理与适用场景,是应对连环追问的关键。例如,面对JVM内存溢出问题,能够通过jstat、jmap等工具进行OOM现场排查与分析,体现了候选人解决线上问题的实战能力。同时,随着国产化技术栈的推进,中间件适配国产数据库逐渐成为高频场景,如Nacos适配华为GaussDB数据库时,需要解决驱动配置、SQL语法兼容和事务隔离级别等实际问题。这些考核点既考察基础功底,也反映 阅读详情

前言

时间过的真快,转眼就2023了,现在面临年底裁员,公司跳槽,不论是校招还是社招都避免不了各种面试,如何去准备面试就变得格外重要了,相信一些小伙伴也在为自己的技术,薪资,发展做提升的准备。

小编这次会从11个Java专题技术进行分享,大致的目录可以看看↓↓↓

1、JAVA基础

2、JAVA并发

3、JVM

4、MySQL

5、Redis

6、开发框架

7、分布式

8、微服务

9、消息队列

10、网络

11、ES&项目实战

一、JAVA基础

1、==和equals

2、ArrayList和LinkedList有哪些区别

3、ConcurrentHashMap的扩容机制

4、ConcurrentHashMap原理简述,jdk7和jdk8的区别

5、CopyOnWriteArrayList的底层原理是怎样的

6、hashcode和equals

7、HashMap的扩容机制原理

8、HashMap和HashTable的区别及底层实现

9、java中的异常体系

10、JDK、JRE、JVM区别和联系

11、List和Set

12、String、StringBuffer、StringBuilder的区别

13、Jdk1.7到Jdk1.8 java虚拟机发生了什么变化

14、说一下HashMap的Put方法

15、接口和抽象类

16、泛型中extends和super的区别

17、深拷贝和浅拷贝

18、面向对象

19、重载和重写的区别

二、JAVA并发

1、CountDownLatch和Semaphore的区别和底层原理

2、ReentrantLock中tryLock()和lock()方法的区别

3、ReentrantLock中的公平锁和非公平锁的底层实现

4、sleep、wait、join、yield

5、Sychronized的偏向锁、轻量级锁、重量级锁

6、Sychronized和ReentrantLock的区别

7、ThreadLocal的底层原理

8、ThreadLocal的原理的使用场景

9、ThreadLocal内存泄露问题,如何避免

10、Thread和Runnable

11、阿里一面:如何查看线程死锁

12、阿里一面:说一下ThreadLocal

13、阿里一面:线程之间如何进行通讯的

14、并发、并行、串行

15、并发三大特性

16、对线程安全的理解

17、京东二面:并发编程三要素

18、京东一面:Java死锁如何避免

19、京东一面:如果你提交任务时,线程池队列已满,这时会发生什么

20、蚂蚁二面:volatile关键字,他是如何保证可见性,有序性

21、蚂蚁一面:sychronized的自旋锁、偏向锁、轻量级锁、重量级锁,分别介绍和联系

22、蚂蚁一面:sychronized和ReentrantLock的区别

23、蚂蚁一面:简述线程池原理,FixedThreadPool用的阻塞队列是什么

24、如何理解volatile关键字

25、说说你对守护线程的理解

26、线程池处理流程

27、线程池的底层工作原理

28、线程池中阻塞队列的作用?为什么是先添加列队而不是先创建最大线程

29、线程的生命周期及状态

三、JVM

1、GC如何判断对象可以被回收

2、JAVA类加载

3、java类加载器有哪些

4、JVM内存模型

5、JVM有哪些垃圾回收器

6、JVM有哪些垃圾回收算法

7、阿里一面:说一下JVM中,哪些是共享区,哪些可以作为gc root

8、JVM中哪些是线程共享区

9、阿里一面:你们项目如何排查JVM问题

10、京东二面:说说类加载器双亲委派模型

11、蚂蚁二面:Java的内存结构,堆分为哪几部分,默认年龄多大进入老年代

12、你们项目如何排查JVM问题

13、如何进行JVM调优

14、什么是字节码,作用是什么

15、怎么确定一个对象是不是垃圾

四、MySQL

1、ACID靠什么保证的

2、B树和B+树的区别,为什么Mysql使用B+树

3、Explain语句结果中各个字段分表表示什么

4、Innodb是如何实现事务的

5、MySQL的索引结构是什么样的

6、MySQL的锁有哪些

7、MySQL集群如何搭建

8、mysql聚簇和非聚簇索引的区别

9、Mysql慢查询该如何优化?

10、mysql索引结构,各自的优劣

11、mysql锁的类型有哪些

12、Mysql锁有哪些,如何理解

13、MySQL有哪几种数据存储引擎

14、mysql执行计划怎么看

15、mysql主从同步原理

16、阿里二面:Innodb是如何实现事务的

17、阿里二面:Mysql数据库中,什么情况下设置了索引但无法使用

18、存储拆分后如何解决唯一主键

19、海量数据下,如何快速查找一条记录

20、简述Myisam和Innodb的区别

21、简述mysql中索引类型及对数据库的性能的影响

22、蚂蚁二面:Mysql的锁你了解哪些

23、蚂蚁一面:B树和B+树的区别,为什么Mysql使用B+树

29、事务的基本特性和隔离级别

30、如何实现分库分表

31、什么是MVCC

32、什么是脏读、幻读、不可重复读

33、事务的基本特性和隔离级别

34、索引的基本原理

35、索引的设计原则

36、索引覆盖是什么

37、谈谈如何对MySQL进行分库分表

38、最左前缀原则是什么

五、Redis

1、RDB和AOF机制

2、Redis单线程为什么这么快

3、redis的持久化机制

4、Redis的过期键的删除策略

5、Redis分布式锁底层是如何实现的?

6、Redis和Mysql如何保证数据一致

7、redis集群方案

8、Redis如何设置key的过期时间

9、Redis线程模型,单线程为什么快

10、Redis有哪些数据结构?分别有哪些典型的应用场景?

11、redis主从复制的核心原理

12、阿里二面:Redis的数据结构及使用场景

13、阿里二面:Redis集群策略

14、布隆过滤器原理,优缺点

15、常见的缓存淘汰算法

16、分布式系统中常用的缓存方案有哪些

17、缓存穿透、缓存击穿、缓存雪崩

18、缓存穿透、缓存击穿、缓存雪崩分别是什么

19、缓存过期都有哪些策略

20、缓存雪崩、缓存穿透、缓存击穿

21、简述redis分布式锁实现

22、简述redis九大数据结构

23、简述redis事务实现

24、简述redis主从同步机制

25、如何保证Redis与数据库的数据一致

26、如何保证数据库与缓存的一致性

27、如何避免缓存穿透、缓存击穿、缓存雪崩

28、说一下你知道的redis高可用方案

六、开发框架

1、{}和${}的区别

2、ApplicationContext和BeanFactory有什么区别

3、BeanFactory和ApplicationContext有什么区别

4、mybatis插件运行原理及开发流程

5、Mybatis存在哪些优点和缺点

6、mybatis和hibernate的对比

7、spring、springmvc、springboot的区别

8、SpringBoot是如何启动Tomcat的

9、SpringBoot中常用注解及其底层实现

10、SpringBoot中配置文件的加载顺序是怎样的?

11、springboot自动配置原理

12、SpringMVC的底层工作流程

13、springmvc的九大组件

14、springmvc工作流程

15、SpringMVC中的控制器是不是单例模式

16、spring的事务传播机制

17、Spring框架中的Bean是线程安全的吗

18、Spring框架中的单例Bean是线程安全的么

19、spring框架中使用了哪些设计模式及应用场景

20、Spring容器的启动流程是怎样的

21、Spring如何处理事务

22、阿里二面:Spring中后置处理器的作用

23、阿里二面:如何实现AOP,项目哪些地方用到了AOP

24、阿里二面:说说常用的SpringBoot注解,及其实现

25、阿里一面:还读过哪些框架源码介绍一下你还熟悉的

26、阿里一面:介绍一下Spring,读过源码介绍一下大致流程

27、阿里一面:什么时候@Transactional失效

28、阿里一面:说一下Spring的事务机制

七、分布式

1、CAP理论,BASE理论

2、Dubbo 的整体架构设计及分层

3、Dubbo的架构设计是怎样的?

4、dubbo和springcloud对比

5、dubbo集群容错策略有哪些

6、Dubbo是如何完成服务导出的?

7、Dubbo是如何完成服务引入的?

8、Dubbo是什么?能做什么?

9、dubbo支持的协议有哪些

10、Dubbo支持的注册中心有哪些

11、Dubbo支持哪些负载均衡策略

12、dubbo中Zk集群挂掉,发布者和订阅者还能通信么

13、Quorum、WARO机制

14、session的分布式方案

15、Spring Cloud和Dubbo的区别

16、zk的watch机制实现原理

17、zk的初始化选举和崩溃选举过程

18、zk的会话管理机制

19、zk的数据模型和节点类型

20、zk的数据同步原理

21、zk分布式锁实现原理

22、zk和eureka的区别

23、zk实际如何存储dubbo生产者和消费者信息

24、zk中一个客户端修改了某个节点的数据,其他客户端能够马上获取到这个最新数据吗

25、Zookeeper集群中节点之间数据是如何同步的

26、Zookeeper中的领导者选举的流程是怎样的?

27、阿里二面:说说你了解的分布式锁实现

28、阿里一面:Dubbo的负载均衡策略

29、阿里一面:Dubbo是如何做系统交互的

30、定时任务实现原理

31、对比两阶段,三阶段有哪些改进

32、分布式id生成方案

33、分布式ID是什么?有哪些解决方案?

34、分布式缓存寻址算法

35、分布式架构下,Session 共享有什么方案

36、分布式事务如何处理

37、分布式事务有哪些解决方案

38、分布式锁的使用场景是什么?有哪些实现方案?

39、分布式锁解决方案

40、分布式系统的设计目标

八、微服务

1、SOA、分布式、微服务之间有什么关系和区别?

2、Spring Cloud和Dubbo有哪些区别?

3、Spring Cloud有哪些常用组件,作用是什么?

4、SpringCloud和SpringCloudAlibaba都有哪些组件

5、springcloud核心组件及其作用

6、高并发场景下如何实现系统限流

7、京东一面:SpringCloud各组件功能,与Dubbo的区别

8、什么是Hystrix?简述实现机制

9、什么是服务降级、什么是熔断

10、什么是服务熔断?什么是服务降级?区别是什么?

11、什么是服务雪崩?什么是服务限流?

12、谈谈你对微服务的理解

13、项目中怎么保证微服务敏捷开发

14、怎么拆解微服务中台?

九、消息队列

1、Kafka、ActiveMQ、RabbitMQ、RocketMQ 对比

2、Kafka的Pull和Push分别有什么优缺点

3、kafka高性能高吞吐的原因

4、Kafka是pull?push?优劣势分析

5、Kafka为什么比RocketMQ的吞吐量要高

6、Kafka消息丢失的场景及解决方案

7、Kafka消息高可靠解决方案

8、Kafka中zk的作用

9、Kafka中高性能的原因分析

10、MQ如何保证分布式事务的最终一致性

11、MQ如何保证消费幂等性

12、MQ如何保证消息的高效读写

13、MQ如何保证消息顺序

14、MQ如何进行产品选型

15、MQ有什么用

16、rabbitmq的镜像队列原理

17、rabbitmq的死信队列、延迟队列原理

18、rabbitmq可以直连队列么

19、RabbitMQ如何保证消息的可靠性传输

20、RabbitMQ如何确保消息发送 ? 消息接收?

21、Rabbitmq事务消息

22、RabbitMQ死信队列、延时队列

23、RocketMQ 如何保证不丢消息

24、RocketMQ 事务消息原理

25、RocketMQ 怎么实现顺序消息

26、RocketMQ的底层实现原理

27、简述kafka的rebalance机制

28、简述kafka架构设计

29、简述rabbitmq的持久化机制

30、简述RabbitMQ的架构设计

31、简述RabbitMq的交换机类型

32、简述rabbitmq的普通集群模式

33、简述RabbitMQ架构设计

34、简述RabbitMQ事务消息机制

十、网络

1、BIO、NIO、AIO分别是什么

2、HTTP和HTTPS的区别

3、Netty的高性能体现在哪些方面

4、Netty的线程模型是怎么样的

5、Netty是什么?和Tomcat有什么区别?特点是什么?

6、TCP的三次握手和四次挥手

7、Tomcat如何进行优化?

8、Tomcat中为什么要使用自定义类加载器

9、京东二面:TCP的三次握手和四次挥手

10、跨域请求是什么?有什么问题?怎么解决?

11、零拷贝是什么

12、浏览器发出一个请求到收到响应经历了哪些步骤?

13、蚂蚁一面:epoll和poll的区别

14、蚂蚁一面:HTTPS是如何保证安全传输的

15、如何设计一个开放授权平台

16、什么是CSRF攻击

17、什么是OAuth2.0协议P1

18、什么是SSO

19、什么是嵌入式服务器,为什么使用嵌入式服务器

20、什么是认证和授权

十一、ES&项目实战

1、ES部署时如何优化

2、ES了解多少

3、ES写入数据与查询数据的原理

4、阿里二面:聊聊你最有成就感的项目

5、阿里二面:自己最有挑战的项目、难点

6、京东二面:画出项目架构图,介绍自己所处的模块

7、京东二面:快排算法

8、京东二面:图的深度遍历和广度遍历

9、京东一面:Maven中Package和Install的区别

10、京东一面:说说你常用的Linux基本操作命令

11、京东一面:项目及主要负责的模块

12、京东一面:遇到过哪些设计模式

13、蚂蚁二面:设计模式有哪些大类,及熟悉其中哪些设计模式

14、蚂蚁一面:二叉搜索树和平衡二叉树有什么关系

最近小编也在刷面试题,然后把一些面试官常问到的,比较困惑的都搜集并且整理成笔记了,因为考虑网上很多面试题都没有答案解析,所以小编已经把2022能够问到的面试题以及答案解析都整理成合集了

WPS JS宏实战:批量调整200个Word表格格式的避坑指南(附完整代码) 本文提供了一份详尽的WPS JS宏实战指南,针对批量调整大量Word表格格式的需求。文章深入解析了如何利用JS宏自动化设置字体、行距和边框,并重点解决了常见的“首行访问报错”等核心难题,附有可直接使用的完整代码,帮助用户显著提升文档处理效率。 阅读详情

相关推荐

MTK Linux DRM分析(八)- KMS drm_crtc.c

CRTC 在 Linux DRM 子系统中是显示控制的核心,负责时序生成、模式设置和管线的调度。理解其工作原理和 API 对于进行底层图形开发、调试显示问题或 simply understanding how your graphics stack works 都至关重要。

iTom1900 1349

金三银四,打工人必备技巧!

Java面试通常可分为技术性问题和非技术性问题。一、技术方面技术方面的问题包含Java基础、框架等,特别是Java的一些核心基础知识点、对源码解读和核心原理的理解都是加分项。二、非技术方面非技术性方面的问题,虽然不能考察你多少技术能力,但能侧面看出你的一些综合能力,所以作为面试者,非技术性方面的问题,也要有所准备!无论是技术方面还是非技术方面的问题,总结起来无非三个方向:1. 知识结构2. 项目经...

芋艿V 187

scDeepCluster_pytorch代码解读与文章理解

论文:Clustering single-cell RNA-seq data with a。

qq_34179307的博客 915

2023金三银四,啃完这35个Java技术栈,冲刺年薪百万

2023金三银四,年假准备跳槽的小伙伴注意了,小编在这里为你们准备了Java后端必备的35个专题面试技术栈!

the shy 6038

ubuntu18.04 升级Ubuntu 20.04

Ubuntu 18.04升级20.04指南:首先备份重要数据,更新当前系统并检查新版本可用性(sudo do-release-upgrade -c)。确认升级后执行sudo do-release-upgrade,按提示完成操作。升级过程需耐心等待,完成后重启系统。注意:升级前务必备份数据,确保系统为最新版本,以降低风险。升级后即可使用Ubuntu 20.04系统。

https://ophome.blog.youkuaiyun.com,在IT行业有多年的工作经验,尤其是在Python、Linux、负载均衡、Nginx和服务器运维等领域。 1058

桁架 拓扑优化 matlab程序_拓扑优化在结构轻量化及板壳加筋肋最优布置的应用...

1 拓扑优化简介材料的有效利用一直都是人类追求的目标,也是许多研究领域不变的话题,并伴随着结构优化理论和方法的产生而发展。结构优化设计通常分为三个层次:(1)拓扑优化:在一个确定的连续区域内寻求结构内部非实体区域位置和数量的最佳配置,寻求结构中的构件布局及节点联结方式最优化,使结构能在满足应力、位移等约束条件下,将外载荷传递到结构支撑位置,同时使结构的某种性态指标达到最优;(2)形状优化:指在保持...

weixin_39525355的博客 1877

2025年Java工程师面试题整理【金三银四面试篇】

最后,我想说的是,学习并非难事,而贵在坚持,尤其是在我们参与工作之后,要继续坚持学习就更不容易了。但对于程序员来说,学习是立业之根本,如若放弃学习,被市场淘汰是迟早的事情。所以,学习更多新的知识对于自己来说才是一种更大的投资。

m0_50180963的博客 378

深入解析 TDA4VM/VH R5F 核中断机制:VIC 与非 VIC 模式下的实战对比与优化

本文深入解析了TI TDA4VM/VH平台中ARMv7-R架构R5F核的两种中断处理机制:VIC模式与非VIC模式。通过对比硬件自动跳转与软件向量表分发的核心流程、实战代码示例及性能差异,为开发者提供了基于实时性、灵活性与调试需求的选择指南和优化建议,帮助构建更稳定的嵌入式系统。

weixin_29159441的博客 98

2025年Java面试高频考点整理|金三银四跳槽必备(附答案)

不论是技术经理还是架构师,没有绝对地说哪条路是对还是错,适合自己才是最重要。小公司的可能没有架构师这个概念,大公司的架构师职位又不是那么容易拿下。但不管怎样,不断去学习新的技术,提升自己的层次是很有必要的,无论你在哪一家公司,过硬的技术水平才能吃得开。

m0_50180963的博客 777

maya后台批量比对maya文件层级

在cg制作过程中,为了统一制作规范,提高效率我们Pipeline都会制作一个比对层级的工具下面介绍的是maya利用batch文件进行模型与绑定和材质文件进行比对层级。 直接上代码: #!usr/bin/env python # -*- encoding: utf-8 -*- """ @author:MCC @file: compareUI @time: 2018/11/21 16:29 """ i...

CGpipelineTD 1642

OpenAI Function Calling 实战:让 Agent 自动调用外部 API 接口

在 2023 年 6 月之前,大语言模型(LLM)的能力边界是清晰的:它能说会道,能写诗作赋,也能帮你润色文案。但如果你问它"北京现在天气怎么样",它要么答不上来,要么基于过时的训练数据给你一个错误答案。原因很简单——LLM 的训练数据是有截止日期的,它活在"过去"。2023 年 6 月,OpenAI 在 GPT-4 的更新中引入了 Function Calling 功能,彻底改变了这一局面。Function Calling(也叫 Tool Use 或工具调用)是一种让 LLM 与外部系统交互的机制。

2201_76125393的博客 88

2023年金三银四NO.1的Java面试手册,号称——offer收割机

金三银四招聘热季,不少人已经蓄势待发,信心满满地准备投递简历,到处面试,在不同的 Offer 之中择优而栖。与此同时,也有人会悔恨自己这半年进步不大,每天噼里啪啦敲代码,但面对那些不能再熟悉的 Java 面试题时,只是感觉似曾相识,却怎么也回答不到点子上,比 HashMap 的工作原理,或 volatile 的使用场景等。究其原因,主要有两方面:第一,“知其然不知其所以然”。开发了很多业务应用,却从未缕清技术选择背后的逻辑。所以,领导不放心把有一定深度的任务交给他们,因为不知道其成长潜力有多大。

m0_73311735的博客 164

YoloV10改进策略:卷积篇|基于PConv的二次创新|附结构图|性能和精度得到大幅度提高(独家原创)

在PConv的基础上做了二次创新,创新后的模型不仅在精度和速度上有了质的提升,还可以支持Stride为2的降采样。改进方法简单高效,需要发论文的同学不要错过!

m0_47867638的博客 1095

2023年金三银四,Java后端开发最全面试攻略,吃透年后保送大厂

时间过的真快,转眼就2023了,现在面临公司跳槽,不论是校招还是社招都避免不了各种面试,如何去准备面试就变得格外重要了,相信一些小伙伴也在为自己的技术,薪资,发展做提升的准备。小编这次会从11个Java专题技术进行分享,大致的目录可以看看↓↓↓1、JAVA基础2、JAVA并发3、JVM4、MySQL5、Redis6、开发框架7、分布式8、微服务9、消息队列10、网络11、ES&项目实战。

the shy 408

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

20203年 Java 面试题集锦(金三银四)

今年的金三银四了,又是跳槽的好季节,准备跳槽的同学都摩拳擦掌准备大面好几场, 为大家准备了精选的面试题。

jjc4261的博客 460

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

java面试这一篇就够了(干货)

1、简单易学、有丰富的类库 2、面向对象(Java最重要的特性,让程序耦合度更低,内聚性更高) 3、与平台无关性(JVM是Java跨平台使用的根本) 4、可靠安全 5、支持多线程新建(new):新创建了一个线程对象。可运行(runnable):线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取cpu的使用权。运行(running):可运行状态(runnable)的线程获得了cpu时间片(timeslice),执行程序代码。

豆豆的博客 1万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

2023版金三银四Java面试题,只要掌握80%,无脑通关大厂!

今天为大家整理了目前互联网出现率最高的大厂面试题,所谓八股文也就是指文章的八个部分,文体有固定格式:由破题、承题、起讲、入题、起股、中股、后股、束股八部分组成,题目一律出自四书五经中的原文。

java_xiaoo的博客 602

【金三银四系列】之Java基础面试(2023版)

1: 简单说说Java中对象如何拷贝?2: 伪代码快速实现一下深拷贝3: Java是什么类型的语言?GraalVM 即时编译 graal aot jit c1 c24: 什么是Object,有哪些常用的方法,怎么创建对象?5: 多态,面向接口编程?聊聊你的认知6: 什么是内部类,说说你对他的理解以及实战场景7: 说说 static 和 final 在Java中的意义8: Java中的基本数据类型占多少字节,不同的操作系统一样吗?以及String常用的方法。

Add小兵的博客 605

作为一个面试java高级工程师的人,请你介绍一下自己印象最深的项目

我最深刻的项目是一个基于Java的移动应用,我负责开发该应用的后端,主要使用Spring Boot框架编写REST API。我还使用了算法设计,并实现了一些简单的模型来改进应用的性能。此外,我还使用MySQL数据库存储用户和应用数据,通过使用Hibernate ORM框架实现数据的持久化。 ...

weixin_35754962的博客 476

连夜再整理几个开源项目:练手/毕设/私活都不愁了

后台管理类项目 项目名称:JeeSite 项目介绍: 这是个典型的SSM后台管理项目(不是有很多小伙伴让推荐SSM项目练手嘛),基于经典技术组合(Spring MVC、Shiro、MyBatis、Bootstrap UI等)开发,适合学习练手。 而且它作为一个典型的后台管理系统,要素基本都有,包括:组织机构、角色用户、权限授权、数据权限、内容管理、工作流等。 尤其要提的就是最后的工作流模块,它可以实现提工单、审核/审批等流程,这个在后台管理类项目里是必备的模块。 传送门: https:..

u014089832的博客 1929

java面试时这样介绍自己的项目经验,等于成功了一大半

点击上方关注 “终端研发部”设为“星标”,和你一起掌握更多数据库知识 ​ 来自:头条 作者:程序员界的彭于晏面试时7份靠能力,3份靠技能,而刚开始时的介绍项目又是技能中的重中之重,决定一次面试的成败,那么面试时如果介绍自己的项目呢? 1、在面试前准备项目描述别害怕,因为面试官什么都不知道,面试官是人,不是神,拿到你的简历的时候,是没法核实你的项目细节的。更何况,你做的项目是以月为单...

这个时代,作为程序员可能要学习小程序 3018

备战金三银四:2025年11月java面试题分享,请查收

本文收录的面试题包括MySQL、Redis、java、JVM等相关内容。我相信很多人都在计划着跳槽,也或者在等金三银四的到来,请对找工作保持十二分的热情,而且越早准备越好。临时狂背知识点什么的,可能大致的都了解,细问就什么都不知道了,面试京东我也是提前一个月就开始准备了,毕竟不打无准备的仗。

sjkflw121150的博客 686

JAVA金三银四面试专题讲解

01开篇词 ## 一、什么是高效的面试? 自信。 二、要怎么准备面试? 第一 拉伸知识的广度; 了解互联网的主要技术栈,形成知识网络。 第二 提升知识的深度: 由浅到深,由点到面,对每个技术栈形成梯度,整理梳理。每个梯度都要准备一到两个有代表性的高频面试题。种子题目。 三、本专题的特点 广、全、精、散、深、种子 02JAVA并发篇 ## 一、JAVA如何开启线程?怎么保证线程安全? 线程和进程的区别:进程是操作系统进行资源分配的最小单元。线程是操作系统进行任务分配的最小单元,线...

fegus的博客 1135

2022金三银四面试总结-Java高级篇

Java面试总结 1.你用过哪些集合类? 大公司最喜欢问的Java集合类面试题 40个Java集合面试问题和答案 java.util.Collections 是一个包装类。它包含有各种有关集合操作的静态多态方法。 java.util.Collection 是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。 Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Map ├Hashtable

aa119101的博客 360

2021金三银四最新高频java面试真题合集,啃透这9个模块,面试无压力!

最后我为大家准备了一些Java架构学习资料,学习技术内容包含有Spring,Dubbo,MyBatis,RPC,源码分析,高并发、高性能、分布式,性能优化,微服务高级架构开发等等,点击这里免费获取。先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。...

qq_46416934的博客 247

秋招失足,拿到这份“Java 高分指南(25 专题)”,金三银四翻盘有望

面试造火箭,工作拧螺丝!金九银十灰溜溜地落榜,备受打击。正当准备明年金三银四之际,意外喜提朋友赠送的这等等,内含,翻盘有望啊!注:全文会列举 25 个专题内所有的题目,但因内容过多,答案解读这一块就只用截图展示了部分内容。

Q54665642ljf的博客 554
上一篇: 白活了!谷歌架构师10年心血汇成的《24种设计模式》,这才是正解
下一篇: 成功“拿捏”金三银四!汇总Java面试突击班知识
Java技术那些事儿
博客等级 码龄5年 2306粉丝 2584原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值