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

2024-01-01 14:20

本文主要是介绍元旦小礼品:想去面试的时候如何快速打造自己的面试亮点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

新年快乐!

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

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

我们这是应该重点打造几个能证明自己有能力、有基础的事情来打造亮点 。接下来我们就以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.chinasem.cn/article/559525

相关文章

使用Python快速实现链接转word文档

《使用Python快速实现链接转word文档》这篇文章主要为大家详细介绍了如何使用Python快速实现链接转word文档功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 演示代码展示from newspaper import Articlefrom docx import

用Java打造简易计算器的实现步骤

《用Java打造简易计算器的实现步骤》:本文主要介绍如何设计和实现一个简单的Java命令行计算器程序,该程序能够执行基本的数学运算(加、减、乘、除),文中通过代码介绍的非常详细,需要的朋友可以参考... 目录目标:一、项目概述与功能规划二、代码实现步骤三、测试与优化四、总结与收获总结目标:简单计算器,设计

shell脚本快速检查192.168.1网段ip是否在用的方法

《shell脚本快速检查192.168.1网段ip是否在用的方法》该Shell脚本通过并发ping命令检查192.168.1网段中哪些IP地址正在使用,脚本定义了网络段、超时时间和并行扫描数量,并使用... 目录脚本:检查 192.168.1 网段 IP 是否在用脚本说明使用方法示例输出优化建议总结检查 1

Rust中的Option枚举快速入门教程

《Rust中的Option枚举快速入门教程》Rust中的Option枚举用于表示可能不存在的值,提供了多种方法来处理这些值,避免了空指针异常,文章介绍了Option的定义、常见方法、使用场景以及注意事... 目录引言Option介绍Option的常见方法Option使用场景场景一:函数返回可能不存在的值场景

如何评价Ubuntu 24.04 LTS? Ubuntu 24.04 LTS新功能亮点和重要变化

《如何评价Ubuntu24.04LTS?Ubuntu24.04LTS新功能亮点和重要变化》Ubuntu24.04LTS即将发布,带来一系列提升用户体验的显著功能,本文深入探讨了该版本的亮... Ubuntu 24.04 LTS,代号 Noble NumBAT,正式发布下载!如果你在使用 Ubuntu 23.

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

电脑桌面文件删除了怎么找回来?别急,快速恢复攻略在此

在日常使用电脑的过程中,我们经常会遇到这样的情况:一不小心,桌面上的某个重要文件被删除了。这时,大多数人可能会感到惊慌失措,不知所措。 其实,不必过于担心,因为有很多方法可以帮助我们找回被删除的桌面文件。下面,就让我们一起来了解一下这些恢复桌面文件的方法吧。 一、使用撤销操作 如果我们刚刚删除了桌面上的文件,并且还没有进行其他操作,那么可以尝试使用撤销操作来恢复文件。在键盘上同时按下“C

秋招最新大模型算法面试,熬夜都要肝完它

💥大家在面试大模型LLM这个板块的时候,不知道面试完会不会复盘、总结,做笔记的习惯,这份大模型算法岗面试八股笔记也帮助不少人拿到过offer ✨对于面试大模型算法工程师会有一定的帮助,都附有完整答案,熬夜也要看完,祝大家一臂之力 这份《大模型算法工程师面试题》已经上传CSDN,还有完整版的大模型 AI 学习资料,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

hdu 4565 推倒公式+矩阵快速幂

题意 求下式的值: Sn=⌈ (a+b√)n⌉%m S_n = \lceil\ (a + \sqrt{b}) ^ n \rceil\% m 其中: 0<a,m<215 0< a, m < 2^{15} 0<b,n<231 0 < b, n < 2^{31} (a−1)2<b<a2 (a-1)^2< b < a^2 解析 令: An=(a+b√)n A_n = (a +

v0.dev快速开发

探索v0.dev:次世代开发者之利器 今之技艺日新月异,开发者之工具亦随之进步不辍。v0.dev者,新兴之开发者利器也,迅速引起众多开发者之瞩目。本文将引汝探究v0.dev之基本功能与优势,助汝速速上手,提升开发之效率。 何谓v0.dev? v0.dev者,现代化之开发者工具也,旨在简化并加速软件开发之过程。其集多种功能于一体,助开发者高效编写、测试及部署代码。无论汝为前端开发者、后端开发者