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

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

相关文章

字节面试 | 如何测试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者,现代化之开发者工具也,旨在简化并加速软件开发之过程。其集多种功能于一体,助开发者高效编写、测试及部署代码。无论汝为前端开发者、后端开发者

基于 YOLOv5 的积水检测系统:打造高效智能的智慧城市应用

在城市发展中,积水问题日益严重,特别是在大雨过后,积水往往会影响交通甚至威胁人们的安全。通过现代计算机视觉技术,我们能够智能化地检测和识别积水区域,减少潜在危险。本文将介绍如何使用 YOLOv5 和 PyQt5 搭建一个积水检测系统,结合深度学习和直观的图形界面,为用户提供高效的解决方案。 源码地址: PyQt5+YoloV5 实现积水检测系统 预览: 项目背景

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip

java面试常见问题之Hibernate总结

1  Hibernate的检索方式 Ø  导航对象图检索(根据已经加载的对象,导航到其他对象。) Ø  OID检索(按照对象的OID来检索对象。) Ø  HQL检索(使用面向对象的HQL查询语言。) Ø  QBC检索(使用QBC(Qurey By Criteria)API来检索对象。 QBC/QBE离线/在线) Ø  本地SQL检索(使用本地数据库的SQL查询语句。) 包括Hibern

利用Django框架快速构建Web应用:从零到上线

随着互联网的发展,Web应用的需求日益增长,而Django作为一个高级的Python Web框架,以其强大的功能和灵活的架构,成为了众多开发者的选择。本文将指导你如何从零开始使用Django框架构建一个简单的Web应用,并将其部署到线上,让世界看到你的作品。 Django简介 Django是由Adrian Holovaty和Simon Willison于2005年开发的一个开源框架,旨在简

CentOs7上Mysql快速迁移脚本

因公司业务需要,对原来在/usr/local/mysql/data目录下的数据迁移到/data/local/mysql/mysqlData。 原因是系统盘太小,只有20G,几下就快满了。 参考过几篇文章,基于大神们的思路,我封装成了.sh脚本。 步骤如下: 1) 先修改好/etc/my.cnf,        ##[mysqld]       ##datadir=/data/loc