金三银四面试经历:美团二面+字节三面+阿里三面+腾讯四面Java面经,还原大厂面试经历

美团配送二面(40min)Java后端暑期实习面经 自我介绍(提到了了解Java并发、Java虚拟机) 既然你提到Java并发,那能不能谈谈你对并发的理解?(先说了单线程的一些缺点,所以需要多线程并发。但是多线程的话可能会出现线程安全的问题,就需要通过一些同步方法保证线程安全) 一般多线程会使用线程池,那你怎么设计或者怎么去使用线程池能够用得更好?(1. 先比较了两种创建线程池的方法,表示Executors可能会出现OOM,所以要自己设置参数创建线程池 2. 自己创建线程池应该是根据情况/需求选择合适的参数,如选择合适的拒绝策略,合适的阻塞队列) 那能不能. 阅读详情

前面面的几家大厂,均拿到 offer,最终去了字节跳动。总体感受:

每个大厂问项目问得特别细,虽然下面的面经都只用了一句话去概括,但在实际面试过程当中,项目这一块占了整个面试流程的很大一部分,相反纯技术问题的占比都比较小。

面试题几乎类似,比较简单,也很常见。(文末有参考解析)

美团

通常是两轮技术面试,一轮 HR 面试,第一面会有一道算法题,有的时候会有三轮技术面试。

一面

一道算法题,十分钟左右时间,要求能正常运行,通过给出的测试用例。

最近做过的最有挑战的项目,有哪些难点?

结合项目细聊系统的设计,根据你的设计提出疑问。

你们项目中是如何保证数据一致性的?

代码在执行 SQL 语句时,数据库连接出现了超时异常,但是你不知道这条 SQL 语句在数据库中究竟有没有执行成功,这种情况怎么保证数据的一致性?

你们系统中分布式锁是如何实现的?(当时回答采用 redis 实现,set(key,value,nx,ex,expire))

上面使用 redis 实现分布式锁会存在什么问题?

项目中除了使用 redis 实现分布式锁,还有哪些使用场景?

redis 的数据持久化机制?如何保证数据不丢失?当 redis 内存满了以后,内存的淘汰策略?

AQS 实现锁的原理?与 synchronize 的区别

MySQL 存储引擎的区别?数据库有哪些隔离级别?

MySQL 索引的数据结构是什么?为什么选择这种数据结构?

B+Tree 和 B-Tree 有什么区别?

Reactor 线程模型有哪些?Netty 是如何支持这三种线程模型的?

多路复用器的实现原理?

epoll 的实现原理?epoll、poll、select 的区别

JVM 如何进行垃圾回收?标记算法有哪些?垃圾回收算法有哪些?

CMS 垃圾回收器的原理?

二面

最近做过的最有挑战的项目?

redis 和 MySQL 的双写一致性问题?你们是如何做的?为什么这样做?其他的做法会存在什么问题?

分布式锁的实现原理

数据库有哪些隔离级别?这几种隔离级别分别解决了什么问题?

MySQL 是如何解决不可重复读问题的?

MVCC 的实现原理

MySQL 的可重复读隔离级别下,存在幻读吗?为什么?

数据库的索引是不是创建得越多越好?为什么?通常创建几个?

一张表中对 a、b、c 三个字段分别建立了索引,现在有一条 SQL 语句:select field1,field2 ... from t where a = xx and b=xx and c=xx. 请问这条 SQL 语句会使用到索引吗?如果会,那么会使用到哪个索引?(回答:只会使用其中一个索引,可能是 a,也可能是 b,还有可能是 c,具体使用哪个索引和表中的数据有关)

为什么不会同时使用 a,b,c 三个索引?什么是回表?

聚簇索引和非聚簇索引的区别

如何知道一条 SQL 语句使用了哪些索引?(回答:使用 explain 查看)

explain 的结果有哪些列?分别代表什么含义?

如何查看慢 SQL?

在 Spring 事务中执行多条 SQL 语句时,是对应多个数据库连接还是一个数据库连接?(回答:一个连接,多个就无法保证事务了)

既然是一个连接,Spring 在前后执行多条 SQL 时,是如何保证当前线程获取到同一个连接的?(回答:当时没想到 ThreadLocal,面试官引导说,如果是你,会怎么实现。后来回答说存在一个 map,key 是当前线程,value 就是数据库连接,最后灵光一现,想到了 ThreadLocal)

ThreadLocal 的实现原理?

使用 ThreadLocal 需要注意哪些问题?(实际上是问 ThreadLocal 内存泄漏的问题)

Redis 主从复制的原理

MQ 使用过哪些?如何选型?

使用的是什么 RPC 框架?为什么选择它?

线上服务流量猛涨,该如何操作,说下详细过程?新加服务节点也可能会导致服务还没起来,机器就被打爆了,这个时候怎么办?

一个场景题:现在有 1000 万的商家,知道他们的地理位置,当我们进入到 APP 首页时,如何加载出附近的商家?

职业规划?为什么选择在年底前跳槽?

字节

三轮技术面试,一轮 HR 面试,每轮技术面试都会至少有一道算法题。

一面

一道算法题

聊项目,你们的广告检索引擎是如何设计的?为什么你们的广告检索不使用 ElasticSearch 这样的搜索组件?

Java 中的锁有哪些?和 Lock 的区别

synchronized 的底层实现原理?

AQS 的实现原理?

volatile 的作用和实现原理?

JVM 的垃圾回收算法

GC Roots 有哪些?

简述新生代与老年代的区别?

类的加载过程?什么是双亲委派机制?

线程池的实现原理?线程池满了,再提交任务时会怎么处理?

redis 实现分布式锁的原理?redis 的分布式锁有什么问题?lua 脚本熟悉吗?

redis 中 key 的过期策略是什么?

redis 的持久化机制?AOF 和 RDB 的区别?

什么是缓存击穿、缓存穿透、缓存雪崩?如何处理?

MySQL 数据库索引的实现原理?

什么是回表?什么是联合索引?什么是最左前缀匹配原则?

MySQL 如何保证高可用?主从复制原理?

Explain 关键字的使用。

RocketMQ 的实现原理。

注册中心的选型?

Zookeeper 作为注册中心的实现原理?

Zookeeper 实现分布式锁的原理?

二面

一道算法题

详细聊项目经历

redis 缓存和数据库数据一致性怎么解决?

分布式系统中,分布式事务怎么解决?(回答:RocketMQ 的事务消息)

RocketMQ 事务消息的实现原理?你们的项目中是如何通过 RocketMQ 来保证数据一致性

MySQL 为什么使用 B+树来作索引,对比 B 树它的优点和缺点是什么?

什么是覆盖索引?

MySQL 中事务的隔离级别?

SQL 的优化经验?

redis 持久化的机制?如何保证数据不丢失?

redis 的内存淘汰策略?key 的过期策略?

RocketMQ 如何保证数据的可靠传输(数据不丢失)?

RocketMQ 中现在堆积了大量消息,该怎么处理?

Netty 的线程模型?主从多线程模型下,线程是如何分工的?

线程池的实现原理是什么?如何设置线程池的参数?

对于 CPU 密集型的系统,为什么线程个数设置为 CPU 核数+1?为什么要+1?

对于 IO 密集型的系统,为什么线程个数为 2 倍 CPU 核数?为什么是 2 倍,而不是 3 倍、4 倍等等?

RPC 框架的选型?

Motan 是如何实现负载均衡的?

下一步的工作计划?为什么?

三面

一道算法题

图这种数据结构了解吗?如何判断图中是否有环?

如何找出图中所有的环境?

Http 和 Https 的区别?

TCP 三次握手和四次挥手?

TCP 如何保证可靠传输?

BIO、NIO、AIO 的区别?

加密算法知道哪些?什么是对称加密?什么是非对称加密?

如何保证接口的安全性?应该使用什么加密策略?

说下哈希一致性算法?

MySQL 索引的数据结构和原理?

MySQL 的调优经验

微服务的技术选型?为什么选择 Motan?

RPC 调用的原理

腾讯

通常是三轮技术面试,一轮 HR 面试,第一轮面试会有一道算法题,有的时候可能是 4 轮技术面试。

一面

一面主要是问 Java 基础,常规题,比较见答案。

Java 中使用的是值传递还是引用传递?

方法调用时入参是如何传递的?

JVM 中有哪些数据区域?

List 集合哪些?ArrayList 和 LinkedList 的区别和使用场景?为什么?

HashMap 的实现原理?1.7 和 1.8 的区别?

HashMap 中的 hash 算法?这样的 hash 算法有什么好处(高低 16 位均参与运算)?如何寻址?

使用 HashMap 会有哪些问题?(1.7 和 1.8 中有什么不同)如何解决?

Java 中有哪些线程安全的 Map?

ConcurrentHashMap 的实现原理?1.7 和 1.8 的区别?

ConcurrentHashMap 如何统计元素的个数?会有什么问题?

什么是 JMM 内存模型?

synchronized 的实现原理

线程池的实现原理?有哪些参数,分别是什么含义?

垃圾回收算法。

Java 中反射的基本原理?实际项目中是如何使用反射的?

熟悉哪些设计模式?在项目中哪些地方实际使用过?

一道算法题

二面

主要聊的是项目,技术问题都是在聊项目的时候带出来的。

最近做过的最有成就感的项目?这个项目中遇到过什么问题?

你们的分布式系统中如何保证数据一致性问题?(回答:利用了 RocketMQ 的事务消息来保证最终一致性,后面大部分时间都在聊 RocketMQ 的实现原理)

客户端请求过来,后端如何防止重复请求,保证幂等?

如何实现分布式锁?

redis 实现分布式锁存在什么问题?

redis 分布式锁与 lua 脚本?

redission 了解过吗?说说它的实现原理?

在项目中为什么使用 RocketMQ?对于 MQ,你们是如何选型的?

RocketMQ 的实现原理?消息是如何存储的?

线上出现 MQ 丢失消息?问题可能出现在哪儿?如何保证 MQ 的消息不丢失?

如何保证 RocketMQ 的高可用性?

RocketMQ 的事务消息的实现原理?

如何保证消息的顺序性?

如何保证消息不被重复消费?

你们项目中涉及到了转账相关的业务,那怎么保证资金的准确性和安全性?

针对你们的项目设计一个对账系统。

如何保证分布式系统的强一致性?

三面

和二面几乎一样,大部分时间聊项目,问题也类似,重复面试题不再赘述

聊项目经验

使用 redis 过程中遇到过什么问题?如何解决热 key 问题?

你们的 redis 使用的那种模式?集群模式和哨兵模式的区别?集群模式和哨兵模式如何保证 redis 集群的高可用?redis 集群的故障转移过程?

raft 协议的原理?

JVM 调优经验?

什么是三色标记?

数据库与缓存的双写一致性问题?

结合项目,分库分表该如何设计

MySQL 的主从复制原理?

ConcurrentHashMap 的实现原理?

CucurrentHashMap 中 Node 节点是如何设计的?为什么要用 final 和 volatile 修饰 Node 节点的属性?有什么作用?

对个人职业有什么规划?

四面

项目经历

一个对象是如何存储在 JVM 中的?

类加载过程,以及方法的执行的过程?

JVM 的垃圾回收机制?为什么要区分新生代、老年代?

线上 GC 有问题,如何排查?

Spring 的 AOP 的使用场景?AOP 机制有什么好处?

分布式事务问题,CAP 理论?2PC、XA、TCC、MQ 等原理

类似于淘宝这样的系统,你觉得他们的他们是如何实现数据的强一致性的?

redis 集群如何实现扩容?

redis 的 rehash 的过程?

Netty 的线程模型有哪些?

什么是 TCP 的面包与半包?Netty 是如何解决的?

epoll 的原理?

TCP 的三次握手和四次挥手?为什么是 3 次和 4 次?

你们的广告检索引擎是如何设计的?目前流量多大?如果支撑更大量级的广告投放

为什么从上一家公司离职?

阿里

三轮技术面试,一轮 HR 面试,第一轮通常是电话面试,第二轮是视频,可能会有一道算法题。

一面

一面基本是 Java 基础问题,比较简单。

Java 如何判断一个对象能否被回收?垃圾回收算法有哪些?

什么是内存模型?

什么是线程安全?

Java 中锁有哪些?synchronize 和 Lock 的区别?

synchronize 的底层实现原理

对象在内存中的布局?

volatile 关键字的实现原理?

什么是原子性、可见性、有序性?什么是 happen-before 原则?解释一下 final 的语义?

什么是 CAS?CAS 存在什么问题?

Lock 系列锁的实现原理?

什么是原子类?原子类的实现原理?

Java 中对象的引用有哪些类型?

ThreadLocal 的实现原理?存在什么问题?如何避免?

HashMap 的实现原理?1.7 和 1.8 的区别?

有哪些线程安全的 Map?ConcurrentHashMap 的实现原理?1.7 和 1.8 的区别?

ConcurrentHashMap 是如何统计 size 的?

MySQL 的索引为什么是 B+Tree,而不是数组、Hash 之类的数据结构?为什么不是 B-Tree?

Redis 有哪些数据类型?List 中数据非常多怎么办?

Redis 的持久化机制?AOF 和 RDB 的优缺点?

线上服务接口非常慢?如何排查?

二面和三面

二面和三面是同一天面的,记不清了,大概是这些问题,面试官比较喜欢追问。

一道算法题。

聊项目经历,非常细。

垃圾标记算法和垃圾回收算法有哪些?

什么是三色标记?什么是安全点与安全区域?

简述一下 G1 垃圾回收器的原理?

为什么你们项目中没有使用 G1 垃圾回收器?

什么时候会触发 Minor GC?什么时候出发 Old GC?什么是 Full GC?

对象什么时候进入到老年代?什么是动态年龄判断?

你们线上服务的 QPS 有多大?机器配置是多少?JVM 的参数是怎么设置的?GC 的频率?为什么要这这样配置?

假设线上服务的流量是当前流量的 1 万倍?系统会出现什么现象?如何优化?

Redis 的高可用怎么保证?线上有多少台机器?怎么部署的?

Redis 实现分布式锁的原理?存在什么问题?

如何用 Zookeeper 实现分布式锁?存在什么问题?

Redis 中遇到热 key 会造成什么问题?如何发现热 key?如何解决热 key 的问题?

SQL 的优化经验有哪些?索引的设计准则?

如何查看 SQL 的慢查询日志?线上服务出现慢查询了怎么处理?

线上数据库出现了死锁怎么办?

MySQL 的 InnoDB 在可重复读隔离界别下如何解决不可重复读问题和幻读问题的?什么是快照读?什么是当前读?

MySQL 中有哪些锁?什么是间隙锁?

MySQL 中有哪些日志?

数据库有哪些特性?MySQL 是如何保证机器宕机重启后,数据不丢失的?

binlog 有什么作用?将其格式设置为 statement 会有什么问题?你们线上是如何配置的?

如何保证 MySQL 的高可用?主从复制的原理?

现在线上环境中发现 MySQL 的总节点大幅落后于 master 节点,可能是什么原因?如何处理?

消息队列的选型?RocketMQ 的实现原理?

如何保证消息不丢失?如何保证不重复消费消息?

线上 MQ 出现消息大量积压,应该如何处理?

让你设计一个 MQ,你会如何设计?

什么是 mmap?

netty 用过吗?为什么 netty 是高性能的网络框架?

零拷贝机制的实现原理?

Zookeeper 集群如何部署?Zookeeper 如何实现选举?什么是 ZAB 协议?

Zookeeper 如何保证数据的顺序一致性?

Zookeeper 的使用场景?如何支撑大量的读请求?

你们微服务的注册中心是如何选型的?Zookeeper 和 Eureka 作为注册中心的区别?它们有什么瓶颈?

如何设计一款能支撑数十万机器组成的集群的注册中心?

面经参考解析

以上所有问题的答案都有相应的解析文档参考,网上也有一些类似的面试题总结的文章,但小编这份绝对是数一数二,剩下你了去网上一个个找的时间!每个知识点都有左侧导航书签页,看的时候十分方便,由于内容较多,这里就截取一部分图吧。

Java基础

Java 集合框架

jvm

多线程

网络

算法和数据结构

Spring

Netty

微服务/分布式

消息队列

分布式 ID,其他(网关、限流...)

MySQL

Redis

经验总结

这是我在工作、面试中学习并总结到的一些知识点,都是一些比较典型的、面试常被问到的问题。如果你平时没有注意去总结的话,那么当你面试被问到的时候可能会是一脸懵圈,就算这个问题你知道怎么回事,但是你平时没有认真总结,你也可能会出现逻辑混乱的情况,从而错失工作机会。

有些知识点不经常使用就会忘记,但是面试还会问,对此,我也是深受其害,所以我决定将这些遇见的问题整理下来,分享出去,帮助更多的人,我们共同进步。所谓“温故而知新”,没事的时候多翻看一下这些知识,没准就会有新的收获。

离线路径规划服务Graphhopper 离线路径规划服务Graphhopper 本文主要探索使用Graphhopper搭建离线路径规划服务,需要掌握一定的JAVA基础环境配置的知识 文章目录离线路径规划服务Graphhopper前言一、Graphhopper是什么?二、使用步骤1.下载Graphhopper2.从OpenStreetMap下载路图数据3.安装Graphhopper所需环境4.修改配置5.启动Graphhopper总结 前言 在外网环境中可以使用百度、高德等第三方的sdk用以实现路径规划的功能,由于项目的需要,在离线环境中需要使 阅读详情

相关推荐

Claude + Figma MCP 实战教程

• 拥有 Figma 的 Dev 或 Full seat(专业/企业账号)权限 才能启用 Dev-Mode MCP 服务 。• MCP 是通过标准接口连接 Claude 与 Figma,效率高,但目前仍为 Beta,稳定性可能有限。3. 服务启动后,会在本地运行,比如 http://127.0.0.1:3845/mcp 。如果设置正确,会显示已连接的 figma-dev-mode-mcp-server  。• 如果多次转换复杂组件,可能需要多次选择与多次生成,建议合理拆分设计任务。

weixin_49869937的博客 4451

美团后台开发两轮面经(已offer,题目很全)

恭喜发现宝藏!搜索公众号【TechGuide】回复公司名,解锁更多新鲜好文和互联网大厂的笔经面经,目前已更新至美团、微软…作者@TechGuide【全网同名】

试问道几许 1096

DeepSeek-OCR 本地部署使用教程(附完整环境配置与推理示例)

DeepSeek-OCR是由DeepSeek AI推出的开源OCR模型,支持高精度文档识别与结构化输出(如Markdown转换)。本文提供了详细的本地部署指南,包括系统要求(推荐Linux+A100 GPU)、环境配置(Python 3.12.9+PyTorch 2.6.0+CUDA 11.8)、模型下载及两种推理方式:高性能的vLLM(适合批量处理)和灵活的Transformers(适合调试)。支持多种分辨率模式和提示词模板,适用于合同识别、PDF转换等场景。常见问题包括显存优化和性能调优建议。

qq_58607032的博客 6723

美团暑期实习面经-java-一面、二面-北京到家

文章目录美团一面美团二面 美团一面 算法题 1、最长连续子序列 2、GC算法 3、垃圾收集器 4、CMS 5、对象头 6、markword 7、类加载器、类加载机制、准备和初始化在干什么 8、集合类的顶级接口 9、HashMap原理、扩容 10、HashSet、Hashtable 11、并发 12、ReentrantLock 13、AQS 14、synchronized的改进 15、wait-notify 16、线程的状态 17、MySQL引擎 18、索引 19、undo log、binlog、redo l

自救 唯有自强 1609

DINOv3 网络结构解析:从 ViT 到 ConvNeXt 的双路线设计

本文深入解析了DINOv3网络结构的双路线设计,包括ViT和ConvNeXt两种主干架构。ViT路线通过轴向旋转位置编码解决了传统ViT对固定分辨率的依赖,而ConvNeXt路线则优化了卷积设计,提升了实时处理能力。文章还探讨了Gram Anchoring、混合自监督目标等关键技术,展示了DINOv3在多任务和多模态应用中的强大潜力。

weixin_29214199的博客 564

Centos7安装Tesseract5.5.0+SpringBoot集成部署(离线版)

Java 中实现 OCR(光学字符识别)功能,可以使用 Tesseract OCR,这是一个开源的 OCR 引擎,支持多种语言,并且可以在 Java 中通过 Tesseract API 进行集成。

Leopard锋的博客 2320

2020最后一次Java面试,快手三面一轮游,如今已拿意向书!

2020最后一次Java面试,我去了快手。快手的面试挺有挑战性的,而且还特别有意思,感觉啥都能问到。(二面是10天前约的面试,差点要忘了)然后是HR面,前天我就收到offer。 一面二面啥的我都忘记具体的了,就简单的总结一下 1 基础 为什么 Java 中只有值传递? int 范围?float 范围? hashCode 与 equals,什么关系? String StringBuffer 和 StringBuilder 的区别是什么?String 为什么是不可变的? Java 序列化中

mifffy_java的博客 1310

从零搭建AGV避障系统:我用激光雷达+树莓派视觉模块踩过的那些坑

本文分享了基于树莓派与国产激光雷达从零搭建低成本AGV避障系统的实战经验。针对复杂仓库环境,详细剖析了激光雷达数据噪声、视觉模块算力瓶颈、IMU漂移等核心挑战,并提供了多传感器融合、软件架构设计与避障决策的具体解决方案,为中小型自动化改造项目提供了宝贵参考。

git9versioner的博客 983

2023年面试经历:美团4面+字节4面(均已拿offer),面试真题分享

面试,跳槽,每天都在发生,而对程序员来说"金九银十"更是面试和跳槽的高峰期,跳槽,更是很常见的,对于每个人来说,跳槽的意义也各不相同,可能是一个人更向往一个更大的平台,更好的地方,可以通过换一个环境改变自己的现状。

Java架构师之路的博客 5402

TypeScript的安装与使用

TypeScript的安装与使用

qq_51589308的博客 600

Nvidia Jetson平台 JP4.2.1版本GStreamer视频采集异常问题调试记录

Nvidia Jetson平台GStreamer in JP4.2.1不能采集但是 v4l2-ctl和 ffmpeg能正常采集视频。

jzwjzw19900922的博客 2124

【Android】金三银四面试集合,20场大厂面经总结篇,面试安卓工程师

如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。欢迎大家一起交流讨论啊~网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注Android)一个人可以走的很快,但一群人才能走的更远!

2401_84006689的博客 868

工业仪表读数识别:YOLO目标检测 + OCR混合方案实战

仪表整体(meter):粗定位整只仪表,用于快速裁剪、排除背景干扰表盘区域(dial):精确的圆形/方形表盘区域,用于后续矫正和读数数字区域(display)/指针(pointer):数显表定位数码管区域,指针表可辅助定位指针为什么要分三级?因为现场仪表安装角度、距离、光照差异极大。先粗检再精检,比一步到位的准确率高很多,也方便后续做透视变换。工业仪表读数识别,技术路线的选择比算法精度更重要。选对了路线,事半功倍;选错了,怎么调都达不到验收标准。几条落地建议:指针表优先传统算法。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 95

大厂面经(50+)整理,看看大佬们是如何临危不乱的

大厂面经(50+)整理,看看大佬们是如何临危不乱的

阳阳的博客 2387

深度学习工具包 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")

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

2024年金三银四最新美团、字节、阿里、腾讯Java面经,已拿offer!

这份《“java高分面试指南”-25分类227页1000+题50w+字解析》同样可分享给有需要的朋友,感兴趣的伙伴们可挑战一下自我,在不看答案解析的情况,测试测试自己的解题水平,这样也能达到事半功倍的效果!(好东西要大家一起看才香)网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)一个人可以走的很快,但一群人才能走的更远!

2401_84102892的博客 877

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

2021金三银四面试经历——美团+字节+阿里+腾讯Java面经,还原面试现场

过去几个月里面的几家大厂,均拿到 offer,最终去了字节跳动。总体感受: 每个大厂问项目问得特别细,虽然下面的面经都只用了一句话去概括,但在实际面试过程当中,项目这一块占了整个面试流程的很大一部分,相反纯技术问题的占比都比较小。 面试题几乎类似,比较简单,也很常见。(文末有参考解析) 美团 通常是两轮技术面试,一轮 HR 面试,第一面会有一道算法题,有的时候会有三轮技术面试。 一面 一道算法题,十分钟左右时间,要求能正常运行,通过给出的测试用例。 最近做过的最有挑战的项目,有哪些难点.

m0_50180963的博客 203

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

大厂面试原来是这样,这份面试攻略你值得拥有!

现在都在说连金三银四都消失了,许多应届毕业生找不到工作,有工作经验的年前离职后到现在也找不到合适的工作岗位,网上一片低落消沉的焦虑声音。虽然大环境不好,大多数公司的招人需求减缩,但也有很多公司有大量人才需求,机会依然很多。就是看有没有能抓住这个机会的能力。为了大家更好的准备和熟悉大厂面试,小编总结了部分大厂的面试流程以及给大家分析分析面试内容,面试前该怎么准备!!

大模型训练 2473

2021年春招复盘!我拿到了阿里,美团,华为的offer,复盘一下我的大厂面经!

前言 其实这个开头是不想写的,我其实是一个不善言辞的人,也是随性发挥,想到啥说些啥,更多是对自己开发历程的一些感受和自己学习的方法。不过,最后我想表达的是,在开发过程中每一行代码,每一种设计模式的使用,思考的重点和角度都会有所不同。所以,能够尝试不同的技术栈,从不同的视角来思考并解决问题,融会贯通,才是我个人追求的技术之“道”。 以下内容中,我谈及到的学习方法、学习面试资料,均可以免费分享给大家,希望大家在来年的的金三银四里能够发挥顺利,进到自己想进的公司,共勉! 另外我这里为大家准备了一线大厂面试资料和

weixin_53224039的博客 3967

金三银四跳槽季,美团、字节、阿里、腾讯Java面经,终入字节

金三银四跳槽季,美团、字节、阿里、腾讯Java面经,终入字节

javaAnPou的博客 552

春招暑期实习面试经验小分享,阿里腾讯美团字节实习offer

我自己的22届春招实习算是告一段落,给自己做个总结,也给大家分享一下金三银四的一些心得。 一、首先介绍一下自己的情况: 22届应届毕业生就读于上海某211 电子信息专硕(两年制),今年研一 java后端开发(半路出家) 暑期大厂实习offer: 阿里巴巴—蚂蚁金服—支付宝技术部—java 腾讯—PCG—看点搜索中心—c++ 字节跳动—电商业务->转到西瓜视频—go 美团—美团平台—服务体验部—java 携程—国际化旅游业务—java … 最终选择了去阿里实习,有以下几个原因:

Whirlwind_boy的博客 2303

金三银四面试大厂屡屡失败,最终入职阿里java岗,我经历啥?

本人从二月多开始准备,一个多月,认为自己也挺认真准备的。无奈,前期面了字节跳动,美团,腾讯这些大厂刚开始面试的时候准备的确实不太充分,趁着刚开始字节跳动提前批不记录面试,投递了好几个部门,算是攒了攒面试经验吧。 有了前期面了三家大厂的经验,最终在上周拿到了阿里的高薪 Offer 。(以下附面试题) 一面: 自我介绍一下 在校做的最印象深刻的一次项目,项目的整个模型设计? java内存模型 垃圾回收机制 hashmap底层数据结构,java1.8以后呢? hashmap是线程安全的吗? co

javassb的博客 112

【秋招复盘】复盘我秋招面过的腾讯,美团,字节,华为等一线名企,你与大厂之间就差这一份面经!

前言 其实这个开头是不想写的,我其实是一个不善言辞的人,也是随性发挥,想到啥说些啥,更多是对自己开发历程的一些感受和自己学习的方法。不过,最后我想表达的是,在开发过程中每一行代码,每一种设计模式的使用,思考的重点和角度都会有所不同。所以,能够尝试不同的技术栈,从不同的视角来思考并解决问题,融会贯通,才是我个人追求的技术之“道”。 以下内容中,我谈及到的学习方法、学习面试资料,均可以免费分享给大家,希望大家在来年的的金三银四里能够发挥顺利,进到自己想进的公司,共勉! 另外我这里为大家准备了一线大厂面试资料和

weixin_53170315的博客 602

金三银四结束后美团、字节、阿里、腾讯Java面经,最终去了字节

过去几个月里面的几家大厂,均拿到 offer,最终去了字节跳动。总体感受: 每个大厂问项目问得特别细,虽然下面的面经都只用了一句话去概括,但在实际面试过程当中,项目这一块占了整个面试流程的很大一部分,相反纯技术问题的占比都比较小。 面试题几乎类似,比较简单,也很常见。(文末有参考解析) 美团 通常是两轮技术面试,一轮 HR 面试,第一面会有一道算法题,有的时候会有三轮技术面试。 一面 一道算法题,十分钟左右时间,要求能正常运行,通过给出的测试用例。 最近做过的最有挑战的项目,有哪些难点.

m0_50180963的博客 191

三面阿里云计算,出门我就哭了!(Java研发岗,还原真实“被虐”场景)

人人都有大厂梦,我也不例外,从大三开始,就一直想进入阿里工作,大毕竟是大厂,想想也没那么容易,不过好在自己学历还过得去,项目经验也有得讲,所以今年也斗胆尝试了一下,直接就投了阿里云计算。简历是过了,紧张激动地开始准备面试,但结果并不理想,三面过后,出门我就哭了!以下还原这次阿里云面试的真实场景和面试题!希望能够给大家一些参考和帮助。如字节跳动、腾讯、美团、拼多多等等,有需要的朋友直接(点击我)免费领取! 三面阿里云计算被虐哭,还原真实场景 阿里云计算一面题: 自我介绍 开始问项目项目,抛了一系列的提高性

weixin_47067712的博客 1892

最新蚂蚁五面、拼多多三面、字节四面(已入职拼多多),个人面经分享

金三银四到了,送上一个小福利!本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录需要这份系统化的资料的朋友,可以点击这里获取[外链图片转存中…(img-HNQGbc2C-1715681192667)]本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录需要这份系统化的资料的朋友,可以点击这里获取。

2401_84584535的博客 1039

三面阿里,被Java面试官虐哭!现场还原真实的“被虐”场景

实际上,作为一名程序员,想要中年后不被市场淘汰,那么在年轻时,就一定要多思考多交流,但是身边的同事都是跟自己处于同级水平的,领导又不可能跟自己交流太多的技术,那么怎么通过什么的方式来交流和思考,从而达到提升自己的效果呢?目前,为了准备春招,做了一些计划和练习,特分享一下,希望能够给大家一些参考。框架篇:Spring,Spring Cloud,Netty网络编程,ZooKeeper,Kafka,Hadoop,HBase,Cassandra,ElasticSearch,Spark,Flink 原理及应用!

m0_63437643的博客 210
上一篇: Github 12w+ star的Java面试八股文重磅来袭,号称star收割机
下一篇: 它来了! 阿里最新版Java面试指南-26 大核心专题,已经成功助我在“金三”砍下4家大厂Offer
Java技术那些事儿
博客等级 码龄5年 2306粉丝 2584原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值