当前位置: 首页 > news >正文

历时半年,我终于阿里上岸了,附面经和Java非科班学习心得

个人经历

本科双非化学,跨考了电子硕士,研究生依然双非。无互联网实习,无比赛无论文。(研究生研究方向是车辆电子和楼宇自动化,有自动化和高校实训讲师相关的实习经历)
21年11开始学Java准备秋招。

阿里上岸历程:

贴主一共投过三次阿里,春招实习一次,秋招两次。

春招实习阿里成都蚂蚁:当时跟着牛客大部队投了暑期实习,但其实不太懂暑期实习的意思,面试的时候面试官问我能实习到什么时候,我说随时能入职,能实习到7月多…然后就被挂了(当时不了解暑期实习都是冲着转正的,只是单纯想赚点生活费,攒个实习经历。因为女朋友在北京,所以只打算找北京的工作)。

秋招阿里云内推: 秋招提前批阶段在牛客看到了阿里云网络团队的提前宣传,当时系统还没有开,就投了简历进行了提前面试,一面之后问面试官,说面试结果不错,让我准备二面。谁知道系统开了之后,简历推进系统被HR挂了简历。面试官说他们也没办法了,宣布阿里秋招结束。
面经: Java中集合都有哪些? 集合之间的区别,使用的数据结构的区别,应用场景?
HashMap的结构与底层实现,是线程安全的么?如果需要线程安全怎么办?
ConcurrentHashMap为什么可以线程安全?
JVM内存区域,分代模型
项目相关,问到了Redis
问了Spring相关的问题,我有一个项目是手撕一个框架,当时打开电脑和面试官一起看的代码,面试官让我现场拓展功能。
写一个大题,给一定的字符串导出规则,然后给出导出后的字符换,要求复原字符串,给两个小时。
大概记得这些,时间太久记不住更多了

网申Java开发:

本来都放弃阿里了,后来听说还有一次网申的机会,就去投了一下,没指望被捞,做了一次笔试只A了0.2。觉得彻底凉了,没想到半个月后被优酷捞了,当时觉得自己是KPI,没想到面到了最后。
面经(三面放在了一起):
计算机网络常规问题:HTTP/HTTPS/TCP/WebSocket协议,长连接短连接,拥塞控制机制,tcp为什么是可靠的等。
操作系统常规问题:线程与进程区别。线程调度机制,进程的状态,死锁的条件等
问了一大堆Linux使用的问题,好多都不会。
JDK调优工具:jps, jstack, jmap啥的。
JVM内存区域,分代模型,什么时候会发生OOM
类加载器,双亲委派模型,类加载机制
GC垃圾回收算法,分代回收算法,四大引用类型
MySQL语法,写了两个个SQL题目,如果一个表非常大,一个表很小,怎么优化查询效率
索引,索引的数据结构(抛开MySQL来说),Mysql中的索引,聚集索引和系数素银,最左匹配原则,如何调优SQL
MySql中的锁分类,InnoDB和MyISAM的区别和分别适用的场景,事务的四大特性,四大隔离级别,怎么避免幻读?
MySQL中的redo log和bin log。

Redis是干什么用的?

Redis如何实现分布式锁?Redis的持久化机制?Redis可能会出现的问题(雪崩、穿透等)。Redis的数据结构,跳表。
一致性哈希算法,用来干什么?
多线程是什么?为什么需要多线程?什么情况下需要多线程?
线程安全是什么?volatile了解么,干什么用的,原理是什么?synchronized呢?
线程池,线程池的参数,线程池提交一个任务后的的运行过程,什么时候会触发饱和策略?项目中用过线程池没有,怎么保证线程安全的?
JUC包中的工具类,CAS机制
平时开发过程中怎么处理异常的?
项目相关问题,各种处理方式,解决方案。
Spring常用的注解,你这个仿Spring框架的项目大概的一个逻辑是什么样的?Spring AOP应用场景,原理。
交叉面很少问技术问题了,一直在问项目相关,从背景到实施到落地。问个人经历,实习经历、比赛经历、学习经历、跨专业考研经历。
交叉面聊天过程说自己写过一个高并发缓存,详细问了一下实现。
HR面只有9分钟,问个人的职业规划、为什么投阿里,现在哪家公司在沟通,会怎么选择,个人的最大优势和劣势。
大概就是这样,贴主没有录音的习惯,只能靠记忆来写了。

下面附上我的面试经历以及复习资料,全部无偿分享给大家,包括了很多知识点,其中包括了有基础知识、Java集合、JVM、多线程并发、spring原理、微服务、Netty 与RPC 、Kafka、日记、设计模式、Java算法、数据库、Zookeeper、分布式缓存、数据结构等等。

经历

提前批基本投了一圈,全部凉凉。
提前批:

字节教育后端:笔试3.7/4,流程很快,一周连着三面,结果三面凉,说我没有实习经历,面经: 链字节跳动后端面经 。
京东提前批寻猎计划:流程很快,提前批免笔试,两周面完初试复试和HR面,进入无尽的等待过程,中途收到offer审批邮件,一个月后还是感谢信了。
百度提前批Java:官网被挂了简历,找了一个老哥组内直推的,二面凉了,写题优化没优化出来。
虾皮提前批:一面挂,当时作死反问环节问了疫情对虾皮有没有影响,东南亚疫情那么严重,虾皮会不会凉。。。
贝壳提前批:笔试2.8/4,挂
网易提前批:笔试挂
广联达:笔试挂
猿辅导:简历挂
快手:简历挂
正式批:

京东正式批:笔试1/2,两周面完初试复试HR面,已Offer,准备拒了。
滴滴:笔试2/2,二面挂。
转转:一天面完初试复试,第二周HR面,谈薪的时候拒了。
58集团:面试完之后泡池子没影了。
字节跳动:再次被捞,接了,9.28一面,后续拒了。
百度:拒了面试
腾讯:笔试完没后续
小米:笔试完没后续

非科班学习历程

笔试永远是非科班的通,贴主的笔试水平也很差,主要现在的企业笔试比较喜欢考竞赛型的题目,对于ACMer来说很轻松,但是我们需要从题目中抽象出来考点,再去写,很多题是没有考点的,甚至是推理题,数学题,直接爆炸。这个贴主也没有特别好的办法,只能说多练吧。一定要把输入输出练好。

大家在学习的过程中一定!一定!一定要记笔记,并且整理笔记! 很多时候学了会忘的,整理笔记的过程是让你融会贯通,形成知识体系的过程。不需要被,多整理笔记,理解了自然就能记个差不多,面试之前看几遍笔记,知识就和长在脑海中一样。而且自己理解的知识很容易举一反三,现在面试很多面试官并不是直来直去问问题,而是给场景,或者绕着圈问,纯背的选手很吃亏的,

最后

以上就是所有的分享了,贴主也是个菜鸡,有幸拿到阿里的offer,就到这结束了,把还在流程中的公司面完为止,下面附上我的面试题和面试笔记:

最后

大家可以趁着这段时间好好复习,希望能对你们有帮助,祝大家都有满意的offer,生活愉快,顺利毕业!

相关文章:

历时半年,我终于阿里上岸了,附面经和Java非科班学习心得

个人经历 本科双非化学,跨考了电子硕士,研究生依然双非。无互联网实习,无比赛无论文。(研究生研究方向是车辆电子和楼宇自动化,有自动化和高校实训讲师相关的实习经历) 21年11开始学Java准备秋招。 阿里上…...

ArkUI实战,自定义饼状图组件PieChart

本节笔者带领读者实现一个饼状图 PieChart 组件,该组件是根据笔者之前封装的 MiniCanvas 实现的, PieChart 的最终演示效果如下图所示: 饼状图实现的拆分 根据上图的样式效果,实现一个饼状图,实质就是绘制一个个的实…...

工作实战之系统交互api调用认证设计

目录 前言 一、黄金段位接口交互 二、钻石段位接口交互设计 1.接口文档定义 2.工具类以及demo提供 a.调用方部分代码 b.被调用方 三.星耀段位接口访问设计 1.在钻石段位的基础上,进行sdk的封装 a.maven引入 b.sdk包含工具类 四.王者段位接口访问设计 1.开发详情 2.…...

学习系统编程No.5【虚拟地址空间】

引言: 北京时间:2023/2/22,离补考期末考试还有5天,不慌,刚午觉睡醒,闹钟2点20,拖到2点50,是近以来,唯一一次有一种睡不醒的感觉,但是现在却没有精神,因为听了…...

Linux常用指令(未完待续。。。)

* basename:只留下路径的“最后一部分” X、文件夹&目录操作 复制 :cp /xxx /xxx - a 该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合; - d 拷贝时保留链接&#…...

用D写裸机

原文 用D编写裸机RISC-V应用 这篇文章展示,如何用D编写,目标为RISC-VQEMU模拟器的程序裸机"你好".项目 为什么是D? 我最近一直在用C编写裸机代码,我有点对C缺乏特征感到沮丧.D引入了叫betterC的模式(基本上禁止了D运行时的所有语言功能).使得D裸机编程大致与C一…...

(二十五)、实现评论功能(5)【uniapp+uinicloud多用户社区博客实战项目(完整开发文档-从零到完整项目)】

1,实现二级回复的入库操作 1.1 两个子组件(comment-item和comment-frame)与父组件reply之间的属性传值 comment-item: props: {item: {type: Object,default () {return {}}}},comment-frame: props: {commentObj: {…...

【概念辨析】二维数组传参的几种可能性

一、二维数组传参竟然不是用二级指针进行接收? 今天进行再一次的二级指针学习时,发现了一条以前没怎么注意过的知识点:二维数组进行传参只能用二维数组(不能省略列)进行接收或者是数组指针。 问题复现代码如下&#xf…...

python和C++代码实现图片九宫格切图程序(附VS2015配置Opencv教程)

1、python代码实现图片分割成九宫格 需要包含的库,没有下载安装的,需要自己安装哦。 实现原理很简单,就是用PIL库不断画小区域,切下来存储成新的小图片。 假设每一个格子的宽和高分别是w、h,那么第row行&#xff08…...

【深度学习】优化器

1.什么是优化器 优化器是在深度学习的反向传播过程中,指引损失函数(目标函数)的各个参数往正确的方向更新合适的大小,使得更新后的各个参数让目标函数不断逼近全局最小点。 2.优化器 2-1 BGD 批量梯度下降法,是梯度下…...

SpringBoot使用validator进行参数校验

Validated、Valid和BindingResultBean Validation是Java定义的一套基于注解的数据校验规范,比如Null、NotNull、Pattern等,它们位于 javax.validation.constraints这个包下。hibernate validator是对这个规范的实现,并增加了一些其他校验注解…...

论文复现:风电、光伏与抽水蓄能电站互补调度运行(MATLAB-Yalmip全代码)

论文复现:风电、光伏与抽水蓄能电站互补调度运行(MATLAB-Yalmip全代码) 针对风电、光伏与抽水蓄能站互补运行的问题,已有大量通过启发式算法寻优的案例,但工程上更注重实用性和普适性。Yalmip工具箱则是一种基于MATLAB平台的优化软件工具箱,被广泛应用于工程界优化问题和…...

FastCGI sent in stderr: "PHP message: PHP Fatal error

服务器php7.2卸载安装7.4之后,打开网站一直无法访问,查看nginx错误日志发现一直报这个错误:2023/02/23 11:12:55 [error] 4735#0: *21 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught ReflectionException: Class translator does not exist in …...

【数字IC基础】跨时钟域(CDC,Clock Domain Crossing)

文章目录 一、什么是跨时钟域?二、跨时钟域传输的问题?2、1 亚稳态(单bit:两级D触发器(双DFF))2、2 数据收敛(多bit亚稳态)(格雷码编码、握手协议、异步FIFO、DMUX)2、3 多路扇出:(先同步后扇出)2、4 数据丢失(延长输入数据信号):类似脉冲展宽2、5 异步复位(…...

UNI-APP学习

uni-app的基本使用 uni-app介绍 官方网页 uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、H5、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉)等多个平台。 即使不跨端&#xf…...

编译原理【运行时环境】—什么是活动记录、 活动记录与汇编代码的关系

系列文章戳这里👇 什么是上下文无关文法、最左推导和最右推导如何判断二义文法及消除文法二义性何时需要消除左递归什么是句柄、什么是自上而下、自下而上分析什么是LL(1)、LR(0)、LR(1)文法、LR分析表LR(0)、SLR(1)、LR(1)、LALR(1)文法之间的关系编译原理第三章习…...

【Windows Server 2019】发布服务器 | 远程桌面服务的安装与配置 Ⅰ——理论,实验拓扑和安装基于RemoteAPP的RDS

目录1. 理论1.1 什么是远程桌面服务2. 实验拓扑2.1 拓扑说明3. 安装基于RemoteAPP的RDS1. 理论 1.1 什么是远程桌面服务 远程桌面服务 (RDS) 是一个卓越的平台,可以生成虚拟化解决方案来满足每个最终客户的需求,包括交付独立的虚拟化应用程序、提供安全…...

Bootstrap入门到精通(最全最详细)

文章目录前言一、Bootstrap是什么?二、Bootstrap安装方式一:将压缩包下载到本地引入使用方式二:使用Bootstrap官方cdn二.Bootstrap容器下面是屏幕宽度在不同大小时不同容器的显示状态三.Bootstrap栅格系统bootstrap网格系统有以下六个类网格系…...

C/C++每日一练(20230223)

目录 1. 数据合并 2. 回文链表 3. 完美矩形 1. 数据合并 题目描述 将两个从小到大排列的一维数组 (维长分别为 m,n , 其中 m,n≤100) 仍按从小到大的排列顺序合并到一个新的一维数组中,输出新的数组. 输入描述 第 1 行一个正整数 m , 表示第一个要合并的一维…...

c语言中const 是什么意思?(面试)

const关键字使用非常的灵活,在c中,const因位置不同有不同的作用,因情景不同有不同的角色,使用起来也是非常的灵活。 可以定义const常量,具有不可变性。 例如:const int Max100; Max会产生错误; 便于进行类…...

OpenLayers 可视化之热力图

注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

TDengine 快速体验(Docker 镜像方式)

简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...

利用ngx_stream_return_module构建简易 TCP/UDP 响应网关

一、模块概述 ngx_stream_return_module 提供了一个极简的指令&#xff1a; return <value>;在收到客户端连接后&#xff0c;立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量&#xff08;如 $time_iso8601、$remote_addr 等&#xff09;&a…...

什么是库存周转?如何用进销存系统提高库存周转率?

你可能听说过这样一句话&#xff1a; “利润不是赚出来的&#xff0c;是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业&#xff0c;很多企业看着销售不错&#xff0c;账上却没钱、利润也不见了&#xff0c;一翻库存才发现&#xff1a; 一堆卖不动的旧货…...

(二)原型模式

原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...

数据链路层的主要功能是什么

数据链路层&#xff08;OSI模型第2层&#xff09;的核心功能是在相邻网络节点&#xff08;如交换机、主机&#xff09;间提供可靠的数据帧传输服务&#xff0c;主要职责包括&#xff1a; &#x1f511; 核心功能详解&#xff1a; 帧封装与解封装 封装&#xff1a; 将网络层下发…...

Psychopy音频的使用

Psychopy音频的使用 本文主要解决以下问题&#xff1a; 指定音频引擎与设备&#xff1b;播放音频文件 本文所使用的环境&#xff1a; Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版&#xff01;&#xff01;&#xff01;6.8截至答题&#xff0c;大家注意呀&#xff01; 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:&#xff08; B &#xff09; A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

Rust 异步编程

Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

JDK 17 新特性

#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持&#xff0c;不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的&#xff…...