元旦小礼品:想去面试的时候如何快速打造自己的面试亮点

新年快乐!

对于毕业生,或者工作时间不太长的同学来说,面试实习之前写简历是一件很痛苦的事情,特别是简历上没什么亮点,总感觉很心虚。这时候就会发现很多人凡是知道的,叫得上名字的统统写上去。可惜即使通过简历筛选,在面试过程中,面试官会针对简历的内容即兴提问,但是大部分都一问三不知,更别说深入掌握、精通这些内容了。

所以,如果是新手,你应该先接受自己是个新手,不要强行装*。而面试官看到你简历的一分钟就知道你是个新手,因此他们招你的时候就是有一定心里预期的,如果装*反而证明你不但技术不行, 人还不行。

我们这是应该重点打造几个能证明自己有能力、有基础的事情来打造亮点 。接下来我们就以Java后台工程师为例来说说该怎么做。

首先,如果是新手,那么JVM、高并发、分布式、微服务这些就先不要着急硬学了,因为你根本搞不懂这是在干什么。你可以这么做:

1.先跟着学一个小项目

1.到网上找个中小型的项目教程,跟着一点点做下来,这样可以让你对Java开发有个基本的认知。

这类项目在github、国内的gitee里有很多,如果想跟着视频做,B站里也有很多。注意不要找那种超大型的项目,因为你时间可能来不及,别消化不良。

这个工作能帮你扫盲,让你有和人家交流的基本常识,不然你对如何调接口都不知道,谈高并发又有什么意义呢?

具体要看什么,我们不做广告,暂时不推荐,有疑问的同学可以评论区讨论。

2.抓几个点,认真打造几个简历

上面的项目工作,能让你对后台开发有个基本的认知,但是写简历或者面试的时候,还是会发现一片空白,没法写,写了也毫无吸引力。

这是因为面试的侧重点和实际做项目的侧重点是不一样的。做项目是要能运行出来,需要花很多时间处理细枝末节、各种异常甚至还要运行前端代码等等,但是这些在面试的时候却很难论述,更不好证明自己。

面试侧重的是对技术、方案的理解程度、思维能力这些。例如你可能花了两天才将一个后端接口完成实现了,包括建库、建表,配置ORM等等。而面试关心的是,如果你接口的访问程度增加10倍会怎么样,如果降低响应延迟等等。

另外就是面试喜欢考源码,比如你阅读过什么框架的源码,然后就会继续问题其底层工作原理等等,如果一个都没看过,那就项目没有、源码也没有,自然就尴尬了。

所以我们为了面试,需要深入研究几个点。那具体哪些内容方面研究呢?这里我推荐几个:

2.1 mybatis+设计模式

java连接数据库使用的基础技术是JDBC,但是直接使用JDBC性能和开发效率都太差,所以产生了两个技术:数据库连接池和ORM框架,前者是为了提高数据库与Java服务通信的效率的,后者是提高我们开发速度的。连接池的问题,我们后面再看,这里先谈一下ORM框架。

java里目前常用的ORM框架有SpringJDBC和Mybatis两个,此外还有一个JPA,见的不多,Spring目前是Java开发的事实标准,但是问题是实在过于复杂,一般人都不敢说自己对Spring有深入理解。而SpringJDBC是基于Spring开发的,因此呢,想读透就难上加难。

不过呢Mybatis是一个独立的ORM框架,而且用得也很多,因此想研究其源码就要容易很多,而且在Mybatis里使用了大量的设计模式,因此阅读的时候可以与设计模式一起学习,一起理解。

那该如何学习呢?

首先,你要找个项目学习一下Mybatis是怎么用的,有什么功能等等,不要上来就看源码,那是无源之水无本之木。

其次,找个设计模式的材料来学一学,搞清楚设计模式每种到底是怎么回事。

最后,结合设计模式来理解Mybatis源码,这里推荐一本书《MyBatis技术内幕》,网上有电子版本的,这本书里就大量介绍了Mybatis里是如何使用某个设计模式解决特定问题的,例如

这样就可以给自己的简历打造两个亮点:熟悉Mybatis开源框架,精通设计模式以及典型应用了。

研究Mybatis有一个很大的风险是:很多公司不用Mybatis,这时候面试官可能对其没兴趣,也不会提问。

2.2 数据库连接池+多线程

我们前面说了,java连接数据库使用的基础技术是JDBC,但是直接使用JDBC性能和开发效率都太差,所以产生了两个技术:数据库连接池和ORM框架,前者是为了提高数据库与Java服务通信的效率的,后者是提高我们开发速度的。

目前使用最多的数据库连接池有两个:HikariCP 和Druid,这两个从性能等各个方面都大差不差,只不过一个是Spring社区做的,一个是阿里巴巴开源的,因此要评谁更好 ,就像评清华北大谁更好一样,对我们来说,哪个都够用。

那连接池是如何做到高性能的呢?这个就有挑战了,其中有两个方面值得我们研究:1.精准使用多线程技术,例如重入锁等等,2.设计性能更好的基础数据结构。

既然要精准使用高并发技术,那自然要先熟悉多线程相关技术和底层原理。如果学过Java多线程的同学应该知道,这门技术是非常晦涩、不好理解,而且也不好复现,因此学习难度是不小的。

“学而不思则罔,思而不学则殆”,对于新手可能学了,也不知道这些多线程技术该怎么用。而小巧精悍的数据库连接池就使用了大量项目的技术,因此两者结合就极好了。

不过,目前深入讲解数据库连接池的材料不多,深度也不太够,专门的参考书只找到一个《HikariCP数据库连接池实战 》,因此如果想打造成亮点,难度比较大。

2.3 xxl-job +定时任务调度+小型服务集群

微服务的技术、框架、方案特别多,但是不见得每个都难么难,XXL-JOB就是其中一个小巧精悍的功能。

在有些场景下, 我们需要定期来做某些事情,大家是否注意到csdn的博客排名不是每天都更新的,而是每周二晚上根据过去一周的最新数据重新生成排名,这就是定时任务要干的事情。

在实际工程中,我们的定时任务是分散在各个服务里的,这样服务多的时候,就容易发生遗漏、冲突等各类问题,所以我们最好将异步任务用一个服务来统一管理,统一启动、统一监控,这就是定时任务服务要做的。

目前从易用性、性价比等方面综合来看,xxl-job是最佳的,而且xxl-job也可以搭建成一个小型的集群。

因此我们在学习xxl-job的过程中,我们可以学习到Spring的异步任务、集群、多线程等大量内容。

学习xxl-job还有一个极大的好处:很多人写简历总是写自己参与,极少有机会独立承担一个事情,但是你可以在简历上写“独立完成某个公司的定时任务调度系统的搭建与集成”。

为什么呢?因为XXL-job其实是可有可无的,我司也是2022年才用这个,之前都是各个服务自己处理。作为新手,给公司锦上添花是很自然的,那让你做一个可有可用的定时任务系统就很合理了。

其次就是xxl-job本身确实不复杂,一个新手足以搞定,所以写了面试官也会相信。如果说自己设计了kafka异步任务系统,或者Zookeeper服务治理系统,人家肯定是不信的,你也没这个能力搞定。

目前xxl-job的材料比较分散,需要自己花比较多的时间来学习和梳理。

2.4  Servlet+Tomcat

在Java web里,最重要的技术莫过于Servlet,这是Java网络服务基础中的基础,因此对于初学者一定要对Servlet有非常清晰的理解。

但是呢?只学习Servlet肯定不够啊,该如何提高一下深度呢?那就认真研究一下tomcat的底层工作机制和源码吧。

即使到了现在SpringBoot横行的时代,tomcat仍然是其执行的核心基础,如果你能将tomcat的工作原理、甚至部分核心的底层处理过程研究清楚,那无疑是极好的加分项。

另外,tomcat目前学习材料也非常多,因此想学习就比较容易了。

目前想到的是这几个,后面再补充!

各位加油!

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

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

相关文章

VMware之FTP的简介以及搭建使用计算机端口的介绍

🎬 艳艳耶✌️:个人主页 🔥 个人专栏 :《产品经理如何画泳道图&流程图》 ⛺️ 越努力 ,越幸运 目录 一、FTP介绍 1、什么是FTP: 2、FTP适用于以下情况和应用场景: 3、winServer2012搭…

软件测试/测试开发丨Linux 三剑客与管道使用

1、 程序运行环境输入与输出 标准输入 0 read a;echo $a标准输出 1 echo ceshiren.com错误输出 ls not_exist_dir 2、 管道重定向 管道与管道之间可以重定向管道与文件之间可以重定向 echo 11 > /tmp/1 read var </tmp/1错误输出&#xff1a; ls not_exist_dir > /…

ubuntu:beyond compare 4 This license key has been revoked 解决办法

https://www.cnblogs.com/zhibei/p/12095431.html 错误如图所示&#xff1a; 解决办法&#xff1a; &#xff08;1&#xff09;先用find命令找到bcompare所在位置&#xff1a;sudo find /home/ -name *bcompare &#xff08;2&#xff09;进入 /home/whf/.config,删除/bco…

【瞎折腾/3D】无父物体下物体的旋转与移动

目录 说在前面移动World SpaceLocal Space 旋转World SpaceLocal Space 代码 说在前面 测试环境&#xff1a;Microsoft Edge 120.0.2210.91three.js版本&#xff1a;0.160.0其他&#xff1a;本篇文章中只探讨了无父对象下的移动与旋转&#xff0c;有父对象的情况将在下篇文章中…

springboot 接收appsflyer 参数

1、官网登陆&#xff1a;hq1.appsflyer.com a、配置接收请求的地址和需要的事件 配置详情 2、Controller配置接收 RequestMapping(value "/req", method POST)ResponseBodypublic ResData req(RequestBody Map<String, String> map) {String jsonObject J…

一文搞懂什么是缓存穿透、缓存雪崩、缓存击穿三个概念,以及解决方案

先理解概念&#xff1a;【注&#xff1a;我们这里说的是分布式、高并发环境】 一、缓存穿透是什么&#xff1f; 缓存穿透是指&#xff1a;请求【可以有很多】的数据在缓存、关系型数据库中都不存在&#xff0c;每次来查询都会查询到关系型数据库中。 解决方案&#xff1a; 1、将…

CUMT--Java复习--核心类

目录 一、装箱与拆箱 二、“”与equals 三、字符串类 1、String、StringBuffer、StringBuilder的区别 2、String类 3、StringBuffer类 4、StringBuilder类 四、类与类之间关系 一、装箱与拆箱 基本类型与对应封装类之间能够自动进行转换&#xff0c;本质就是Java的自…

强烈推荐 25个 前端开源中后台管理系统

作为程序员&#xff0c;构建一套个人专属的后台管理系统非常重要。这不仅是为了打造自己独有的开发生态&#xff0c;更是因为我们正处于个人开发和AI模型泛滥的时代。利用AI增强自己的系统变得尤为关键。然而&#xff0c;在UI界面设计方面&#xff0c;我们可能需要参考开源项目…

mysql原理--Explain详解

1.概述 一条查询语句在经过 MySQL 查询优化器的各种基于成本和规则的优化会后生成一个所谓的 执行计划 &#xff0c;这个执行计划展示了接下来具体执行查询的方式&#xff0c;比如多表连接的顺序是什么&#xff0c;对于每个表采用什么访问方法来具体执行查询等等。设计 MySQL 的…

实时交通标志检测和分类(代码)

交通标志检测和分类技术是一种基于计算机视觉和深度学习的先进技术&#xff0c;能够识别道路上的各种交通标志&#xff0c;并对其进行分类和识别。这项技术在智能交通系统、自动驾驶汽车和交通安全管理领域具有重要的应用前景。下面我将结合实时交通标志检测和分类的重要性、技…

第9章 继承和派生习题(详解)

一、选择题 1&#xff0e;下列表示引用的方法中&#xff0c; &#xff08;&#xff09; 是正确的。已知&#xff1a;int m10&#xff1a; A&#xff0e;int &xm&#xff1b; B&#xff0e;int &y10&#xff1b; C&#xff0e;int &z&#xff1b; D&#xff0e;fl…

Java中利用Redis,ZooKeeper,数据库等实现分布式锁(遥遥领先)

1. 分布式锁 1.1 什么是分布式锁 在我们进行单机应用开发涉及并发同步的时候&#xff0c;我们往往采用synchronized或者ReentrantLock的方式来解决多线程间的代码同步问题。但是当我们的应用是在分布式集群工作的情况下&#xff0c;那么就需要一种更加高级的锁机制&#xff0…

合伙企业法关于合伙企业的要求

合伙协议可以载明合伙企业的经营期限和合伙人争议的解决方式。 合伙协议经全体合伙人签名、盖章后生效。合伙人依照合伙协议享有权利&#xff0c;承担责任。 经全体合伙人协商一致&#xff0c;可以修改或者补充合伙协议。 申请合伙企业设立登记&#xff0c;应当向企业登记机关提…

git rebase应用场景三

文章目录 git rebase应用场景三 git rebase应用场景三 在我们的开发分支中 假设我们修改一个文件 提交一个版本 再回到master分支 同时也去修改1.txt文件&#xff0c;提交一个版本 这样相当于master分支提交了一次&#xff0c;dev也提交了一次 然后回到dev分支 此时会报错…

事务失效的十种常见场景

学习事务失效场景 1 概述 事务的传播类型isolationTransactionnal注解属性 事务方法未被Spring管理方法使用final类型修饰非public修饰的方法同一个类中的方法相互调用方法的事务传播类型不支持事务异常被内部catch&#xff0c;程序生吞异常数据库不支持事务未配置开启事务错…

【ChatGPT 默认强化学习策略】PPO 近端策略优化算法

PPO 近端策略优化算法 PPO 概率比率裁剪 演员-评论家算法演员-评论家算法&#xff1a;多智能体强化学习核心框架概率比率裁剪&#xff1a;逐步进行变化的方法PPO 目标函数的设计重要性采样KL散度 PPO 概率比率裁剪 演员-评论家算法 论文链接&#xff1a;https://arxiv.org…

Oracle-深入了解cache buffer chain

文章目录 1.Cache buffer chain介绍2.Buffer cache的工作原理3 Buffer chains4.Multi-versioning of Buffers5.Latches6.诊断CBC latch等待7.解决 CBC Latch等待 1.Cache buffer chain介绍 经常看到会话等待事件“latch&#xff1a;cache buffers chain”。 如果想知道意味着什…

FA对接FC流程

2、FA进行对接 &#xff08;1&#xff09;首先安装好AD域控服务器DHCPDNS&#xff08;注意&#xff0c;不要忘记了做DNS正反向解析&#xff0c;就是把已经安装了ITA的主机做解析&#xff09;&#xff0c;在里面创建域用户 &#xff08;2&#xff09;安装ITA和VAG/VLB&#xf…

2024孙多勇®跨年演讲,重塑医美增长力,开启璀璨华章!

不谋万事者&#xff0c;不足谋一时&#xff1b;不谋全局者&#xff0c;不足谋一域。明者因时而变&#xff0c;智者随时而制。 12月31日-1月3日由汇成医美集团主办的&#xff0c;以“重塑医美增长力”为主题的第七届孙多勇跨年演讲暨「英雄2024」年度战略规划案&#xff0c;在中…

权威Scrum敏捷开发企业培训分享

课程简介 Scrum是目前运用最为广泛的敏捷开发方法&#xff0c;是一个轻量级的项目管理和产品研发管理框架。 这是一个两天的实训课程&#xff0c;面向研发管理者、项目经理、产品经理、研发团队等&#xff0c;旨在帮助学员全面系统地学习Scrum和敏捷开发, 帮助企业快速启动敏…