五年Java编程生涯,大专学历最终逆袭阿里,面试+学习+经历分享

news2024/10/2 1:22:33
五年时间,对于程序员来说,真的非常非常宝贵,掉的头发都够塞满键盘的缝隙了。就说新一代偶像 TFboys 吧,你应该知道这个组合吧,黄金合作期也就三五年的时间,现在基本上就处于各自单飞(solo)的状态了。

我是一名大专生,因此,大学上了两年,大三出去培训了两个月,然后就参加工作了。

大学的两年时光,对我来说是漫长的,换个难听的词叫做“煎熬”。真的是没有任何进步,说原地踏步都算是褒奖了,严格意义上说,是在走下坡路。为什么这么说呢?因为我英语连 4 级也没有过,考了两次啊,想想都难过,做个学渣我容易吗我?想想当年高考的英语成绩可是考了 136 分啊,不算好,也算正常水平了吧。

对于程序员来说,英语是相当重要的,不可否认吧?但我竟然连 4 级都没有过——惭愧惭愧,快来羞辱我吧。那为什么两年时间,我没有进步呢?我来当个标本从里到外剖析一下。

第一,我失去了目标。上小学、上初中、上高中,目标很明确,考大学走出农村嘛。考了两年,竟然只能上个大专,无所谓了,瞎胡混呗。

第二,学校氛围不行。我的自控力很一般,是个随波逐流的家伙。大专院校嘛,自然学生的整体学习能力和本科相比,还是有差距的。没办法,只能自甘堕落。

第三,我打游戏,不学习。上课还带着笔记本打单机游戏呢,那时候最爱的就是极品飞车,现在提起来,还能想起当年的那股兴奋劲。

谁要是也有这种症状,赶紧治疗,还来得及。

知耻而后勇,学会笨鸟先飞

先给大家分享一下面试阿里遇到的面试题吧, 要不然氛围太沉闷了,哈哈 我有点担心读者朋友都会读不下去的,面试题过后会给大家分享一些学习方式的~!

阿里一面:(spring+HashMap+微服务)

  • 看过Spring的源码吗,开局 暴击。
  • Class.forName0和ClassLoaderloaderClass0有什么区别,开局暴击*2..
  • ConcurrentHashMap的原理,为什么是线程安全的,让你设计怎么实现读写安全
  • Mysq|中有哪些索引,你能想到哪些作为索引的数据结构, HashMap , B+树,前缀树,面试官提示跳表
  • Spring事务传播机制的应用
  • 线程安全的单例模式,写完DCL写静态内部类的时候写错了,汗
  • 正向代理和反向代理
  • http是有状态的吗, tcp呢,为什么http是无状态的
  • RPC和微服务框架了解吗
一面面了一个多小时吧,很多常见的面试问题就没列了,列的是以前没碰到过问题,感觉面试官很重视思维能力和总结能力,即对于一个设计中的原理很深刻并且能用于其他地方。

阿里二面(项目,项目,项目)

  • 先聊了聊项目
  • JVM
  • OOM问题和StackOverflow有什么区别
  • 好像问了些网络方面的知识
  • 思考题,64匹马,8个赛道,最少比多少场可以找出最快的4匹马?首先说15,后来想到了13,最后在网上搜的答案是11,挺有意思的一道题
总结:二面面试官项目方面聊的多一些,然后就是思考题和算法题,也差不多一个小时吧,当时从6点直接面到8点多,饭都没吃,突出一个惨

阿里三面:(项目+高并发+设计模式)

  • 聊聊sychronized关键字,用法,底层实现,偏向锁,轻量级锁,自旋锁
  • 聊聊偏向锁,轻量级锁的原理和过程
  • 除了sychronized ,还有啥,聊聊ReentrantLock ,底层一个继承了AQS的实现类
  • 聊聊AQS , volatile修饰的state ,加锁过程,公平锁和非公平锁的实现
  • TCP和UDP的区别
  • 三次握手和四次挥手的过程,为什么这样
  • 聊聊ThreadLocal ,为什么要用threadLocal , ThreadLocalMap中, key和value分别哪个是强引用,哪个是弱引用,我迷之坚持value是强引用。。。
  • 线程的状态以及状态变化过程
  • CMS和G1的区别
  • 聊聊Spring中的动态代理,实现了接口的用JDK动态代理,未实现接口的通过CGlib动态代理,动态代理和静态代理的区别
  • 常用设计模式,策略模式的原理和应用

面试官介绍部门和业务的时候很热情也很详细,然后说等HR通知~

找到适合自己的时间管理术,这样学习起来就会事半功倍

关于时间的管理,首先

要有一个大一点的计划,比如年计划,月计划,周计划。
这一年大体上要打到什么目标,这个月要学习哪些知识。
然后是精确到小时的日计划。
每一天,哪个时间段做什么都详细的列出来。

其次,不要太盲目自信。很多人其实从来没有完成过自己的计划。如果你真的能够完成你制定的每一个计划,那现在的你一定已经很了不起了。如果你几乎没有完成过自己的计划,那么你一开始制定日计划的时候,不要给自己太多的任务。因为如果你一旦完不成,就会影响自己的信心。最好的方式是,一开始制定一些简单的计划,然后每天很容易就能做到,然后慢慢的去增加自己每天的任务量。最后找到一个最适合自己的节奏。这个过程可能需要很长的时间,因为你要不断的去尝试,去改进。找到最适合自己的作息时间去休息,找到自己工作状态最好的时间去工作等等。

我的学习资料分享

第一份,spring全家桶全部带走,带你玩转Spring全家桶、

保证你能收获到以下

  1. 掌握Spring全家桶主要部分的开发、实现
  2. 可以使用Spring MVC、Spring Boot、Spring Cloud及Spring Data进行大部分的Spring开发
  3. 初步了解使用微服务、了解使用Spring进行微服务的设计实现
  4. 奠定扎实的Spring技术,具备了一定的独立开发的能力

01,Spring入门到精通

  • 第一部分 Spring架构分析
  • 第二部分 Spring应用开发
  • 第三部分 Spring高级主题

01,Spring入门到精通

02,Spring Boot技术内幕

  • 第一部分 基础应用开发
  • 第二部分 分布式应用开发
  • 第三部分 核心技术源代码分析

02,Spring Boot技术内幕

03,springMVC学习指南

Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还可以是 Struts 这样的 Web 框架。

第二份:SpringCloud微服务学习

Spring Cloud 是一套完整的微服务解决方案,基于 Spring Boot 框架,准确的说,它不是一个框架,而是一个大的容器,它将市面上较好的微服务框架集成进来,从而简化了开发者的代码量。由浅入深带领大家一步步攻克 Spring Cloud 各大模块,接着通过一个实例带领大家了解大型分布式微服务架构的搭建过程,最后深入源码加深对它的了解。

关于面试

很多开发者找工作时,只是一家家投简历,一遍遍做笔试,一次次去面试,然后一次次被拒绝……其实并不知道如何系统准备一场面试,每次面试都像撞大运,这样的求职过程,既困难又痛苦。

小编这边准备了一份互联网Java架构师的面试真题,在这次面试的时候也给了我很大的帮助

涵盖内容:Java常考题目、JVM、多线程、MySQL、Redis、Kafka、Docker、RocketMQ、Nginx、MQ队列、数据结构、并发编程、并发压测、秒杀架构等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/54539.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深度学习笔记之受限玻尔兹曼机(一)玻尔兹曼分布介绍

机器学习笔记之受限玻尔兹曼机——玻尔兹曼分布介绍引言回顾:Hammersley-Clifford定理玻尔兹曼分布的物理意义引言 从本节开始,将介绍受限玻尔兹曼机。本节将从马尔可夫随机场开始,介绍玻尔兹曼机分布。 回顾:Hammersley-Cliffo…

NCP81239MNTXG 开关降压/升压控制器,USB 功率传递和 Type-C 应用

NCP81239MNTXG USB 功率传递 (PD) 控制器是一款同步降压/升压控制器,适用于为笔记本电脑、平板电脑、台式系统以及很多使用 USB PD 标准和 C−Type 线缆的其他消费设备提供电池电压或适配器电压到所需电源轨的转换。结合使用 USB PD 或 C−Type 接口控制器时完全符合…

【笔记】Java - VM options、Program arguments、Environment variables、eclipse variables

java使用ide开发的时候,运行程序(application)前都要设置启动配置: VM options、Program arguments、Environment variables 很多时候我们是默认配置启动的,所以没太注意。但是如果我们有特殊需求、项目上线时&#xf…

VSCode 安装教程(超详细)

文章目录VSCode 安装使用教程(图文版)那么,什么是 IDE 呢 ?目前,前端开发主流的 IDE 有以下 5 个下边我们开始玩转 VSCodeVSCode 下载、安装Window 版 VScode 安装流程1、下载 Vscode 安装文件2、下载完成单击运行&…

Postman的使用——设置全局参数,参数的传递,从登录接口的响应body中提取数据更新全局参数,从响应cookie中提取数据更新全局变量

Postman的使用——设置全局参数,引用全局参数,参数的传递,从登录接口的响应body中提取数据更新全局参数,从响应cookie中提取数据更新全局变量一、设置全局参数二、引用全局参数三、从登录接口的响应body中提取数据更新全局参数四、…

cmd命令以及一些操作

文章目录前言set和echoif语句判断有无指定文件夹相对路径创建文件夹创建bat脚本换行符前言 因为下载下来的代码用bash脚本写的,cmd不能完美运行,因此想着对照着转成cmd,这样就方便了。 set和echo set demohello world!!! echo %demo%这就是…

[附源码]计算机毕业设计springboot学生宿舍维修管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

动态规划——数字三角形模型

数字三角形模型: 给定一个如下图所示的数字三角形,从顶部出发,在每一结点可以选择移动至其左下方的结点或移动至其右下方的结点,一直走到底层,要求找出一条路径,使路径上的数字的和最大。 输入格式&#…

力扣 895. 最大频率栈

题目 设计一个类似堆栈的数据结构,将元素推入堆栈,并从堆栈中弹出出现频率最高的元素。 实现 FreqStack 类: FreqStack() 构造一个空的堆栈。 void push(int val) 将一个整数 val 压入栈顶。 int pop() 删除并返回堆栈中出现频率最高的元素。 如果出现…

傻妞旧版本(合集)

目录一、前言二、下载三、新版傻妞订阅合集一、前言 傻妞旧版本(合集),包含amd和arm版本 二、下载 🅰️amd✅还未大改,init web未出 🔴[sillyGirl_amd_2022-08-05] ➡️百度网盘 ➡️天翼云盘(访问码:ha8s&#xff09…

如何开通小程序?开通小程序要钱吗?

关于如何开通小程序?开通小程序要钱吗?这两个问题,今天给大家做一个简单的解答。 一、如何开通小程序? “开通小程序”这个说法其实并不准确,能开通的是小程序账号,开通完小程序账号后还需要去制作小程序&…

计算机视觉之目标检测训练数据集(皮卡丘)《2》

在做目标检测,训练数据集的时候,可以先看前段时间的一篇基础文章:计算机视觉之目标检测(object detection)《1》https://blog.csdn.net/weixin_41896770/article/details/128062645先熟悉一些基本知识,如:锚框&#xf…

『.NET』.Net Core在Linux中生成验证码的实现封装

📣读完这篇文章里你能收获到 .Net跨平台在Linux中及Windows中都可生成验证码两套已验证过的实现方案代码封装,即Copy即用快速在Centos 7.x中安装Linux字体 文章目录一、安装Linux字体1. 查看字体库2. 运行安装字体库3. 安装ttmkfdir4. 查看字体库是否已…

搜索技术——模拟退火算法

如果有兴趣了解更多相关内容,欢迎来我的个人网站看看:瞳孔空间 一:算法及模型 物理退火过程 什么是退火:是指将固体加热到足够高的温度,使分子呈随机排列状态,然后逐步降温使之冷却,最后分子…

SPECjvm 2008 小记

背景 specjvm2008是免费的,直接官网下载就可以开跑了。但俗话说的好,便宜无好货,没啥厂家买账,看官网列出的成绩公示结果,根本没几家上传成绩。 另外,SPECjvm2008本身是测试JRE的执行成绩,也就…

Android databinding之RecycleView使用与介绍(二)

一 、介绍 通过上一篇databinding接入,我们已大概了解到databinding接入的流程和数据的简单绑定。 如果你刚看这边,并不了解databinding的使用,可以查看:Android databinding的接入使用与详解(一) Activity和fragment的数据绑定…

左(6)hash,大数据,位运算

前言 仅记录学习笔记,如有错误欢迎指正。 一、哈希函数和哈希表: hash(): (1) 输入是无限的,输出有限! (2)相同的输入,相同的输出(无随机因子) (3)不同的输入,也可能相…

jQuery 语法

通过 jQuery,您可以选取(查询,query) HTML 元素,并对它们执行"操作"(actions)。 jQuery 语法 jQuery 语法是通过选取 HTML 元素,并对选取的元素执行某些操作。 基础语法…

【Python教学】pyqt6入门到入土系列,超详细教学讲解

一、什么是PyQt6? 简单介绍一下PyQt6 1、基础简介 PyQt6 Digia 公司的 Qt 程序的 Python 中间件。Qt库是最强大的GUI库之一。PyQt6的官网:www.riverbankcomputing.co.uk/news。PyQt6是由Riverbank Computing公司开发的 资料大礼包点击蓝色字体领取 Python零基础…

机器学习6scikit-learn中的scaler

文章目录一、scikit-learn中的scaler对测试数据集如何归一化?测试数据是模拟真实环境:综上二、演示一、scikit-learn中的scaler 对测试数据集如何归一化? 测试数据集不能跟训练数据集归一化一样,应该把测试数据集与训练数据集归…