Java程序员面试经验总结

news2024/10/7 17:25:28

目录

    • 一、企业是如何筛选简历的
      • 1.简历筛选流程
      • 2.HR如何筛选简历
      • 3.部门负责人筛选简历
      • 4.总结-简历筛选规则
    • 二、简历注意事项
      • 1.简历整体结构
      • 2.职业技能
      • 3.项目经历
      • 4.总结
    • 三、应届毕业生改如何找到合适的练手项目
      • 1.项目来源
      • 2.如何深入学习项目
      • 3.应该学习哪些模块
      • 4.模块该如何吃透
      • 5.总结
    • 四、Java程序员的面试过程
      • 1.面试形式
      • 2.Java程序员的面试过程
      • 3.如何准备面试

一、企业是如何筛选简历的

1.简历筛选流程

一般的简历筛选流程是:

  • 首先由HR筛选简历;
  • HR筛选后的简历交由部门负责人或开发负责人进一步筛选;
  • 二次筛选后的这批简历就获得了复试的机会,由HR进行预约面试。

在这里插入图片描述

2.HR如何筛选简历

  • Boss直聘(招聘方-后台简历搜索)

在这里插入图片描述

这里需要注意,平台可以直接根据跳槽频率进行筛选,所以为了尽可能让我们的简历出现在筛选条件中,应该减少跳槽的频率。

在这里插入图片描述

  • 智联招聘(招聘方-后台简历搜索)

在这里插入图片描述

在这里插入图片描述

3.部门负责人筛选简历

由于各个部门中不同岗位的招聘要求不同,HR筛选简历之后,就会通知具体的部门招聘负责人,进一步审核简历。

部门招聘负责人会根据简历中的技能描述来初步判断:是否具有招聘岗位所要求的技能?在这里插入图片描述

部门招聘负责人还会查看简历中的项目经历,判断是否有进行过类似业务场景的开发,是否有相关业务的知识和经验。

在这里插入图片描述

不同公司和岗位所接触的行业不同,对于招聘的要求也不一样,有的公司可能就会要求必须具备相关行业的经验。

在这里插入图片描述

4.总结-简历筛选规则

1)HR如何筛选简历

  • 学历、院校、经验、年龄、跳槽频率……

2)部门负责人筛选

  • 符合当前项目的技术栈
  • 符合业务条件(银行、电商、物流)
  • 额外加分项:
    • 有高可用高并发经验优先
    • 熟悉基于公有云的开发经验
    • 有团队管理经验
    • ……

二、简历注意事项

1.简历整体结构

一份完整的简历应该包含哪几个部分:

1)基本信息
2)教育背景
3)求职意向
4)工作经历
5)职业技能
6)项目经验
7)个人优势
8)个人荣誉

1)~ 4)要在真实的前提下,可以适当的美化

7)~ 8)不要过于夸张,关键在于难点、亮点,例如:

1. 2019 年参与了北京马拉松比赛,成绩为 3 小时 20 分钟
2. 2021 年以 5A 成绩获得了 PMP 项目管理认证
3. 2022 年获得了计算机技术与软件专业资格证书-高级软件设计师

2.职业技能

  • 放到简历的黄金位置(HR筛选简历的重要参考)

  • 基本准则:写在简历上的必须能聊,不然就别写

  • 参考公式:职业技能 = 必要技术 + 其他技术,例如:

    1-2年:
    必要技术:springboot + ssm + redis + 数据库
    其他技术:(至少要包含2-3项)微服务、ES、MQ、源码、高并发、jvm、技术选型、设计能力……
    3-5年:
    必要技术:springboot + ssm + redis + 数据库
    其他技术:(至少要包含3-4项)微服务、ES、MQ、源码、高并发、jvm、技术选型、设计能力……
    5年以上:
    必要技术:springboot + sms + redis + 数据库
    其他技术:(至少要包含5项以上)微服务、ES、MQ、源码、高并发、jvm、技术选型、设计能力……
    
  • 针对性地引导面试官(在职业技能描述时写一些详细的技术点,这样可以让他问一些你想让他问的),例如:

在这里插入图片描述

可能有人会觉得我写的这么详细,万一面试官就调没有写的问怎么办?

其实不用担心,就算面试官问了你答不上来,他也是可以接受的,就怕你写了还打不上来,就会觉得你不行。下面还有两个例子

在这里插入图片描述

3.项目经历

  • 项目个数以自己的工作经历为准,时间比较久的可以只写标题或不写(面试官一般也不问)
  • 项目要体现业务深度或技术深度
  • 有没有主导设计过xx模块开发(0-1个或1-2个)
  • 尽可能展示指标数据(如:达到了多少QPS、达到了多少的数据量)

例如:

在这里插入图片描述

4.总结

1)简历的结构

  • 基本信息、教育背景、求职意向、工作经历、职业技能、项目经历、个人优势荣誉

2)职业技能

  • 放到简历的黄金位置(HR筛选简历的重要参考)
  • 职业技能 = 必要技术 + 其他技术
  • 要有针对性的准备,引导面试官针对性地提问
  • 基本准则:写在简历上的必须能聊,不然就别写

3)项目描述

  • 项目个数以自己的工作经验为准,时间比较久的可以只写标题或不写
  • 项目要体现业务深度或技术深度
  • 有没有主导设计过xx模块开发(0-1个或1-2个)
  • 尽可能展示指标数据(如:达到了多少QPS、达到了多少的数据量)

三、应届毕业生改如何找到合适的练手项目

1.项目来源

通常情况下,我们都会去开源网站找一些比较优秀的项目:GiteeGithub 等。

Gitee 为例,我们可以搜索比较感兴趣的技术点或业务点,按照stars进行排序,星级多的项目肯定是经过了大量的验证的,是比较靠谱的项目。

比如:我们根据技术点进行搜索。

在这里插入图片描述

比如:我们根据业务点进行搜索

在这里插入图片描述

2.如何深入学习项目

  • 想尽一切办法在本地运行起来。

    一般比较优秀的项目中都有比较完善的部署文档

  • 找到自己比较感兴趣的模块,debug跟踪代码的逻辑。

    一开始的时候可找一些简单的业务,比如CRUD。

  • 检查梳理完业务之后,自己能否独立完成。

    建议把代码删除之后自己实现一便,中间肯定会出现很多问题,不过没关系,这些问题可都是成长的经验,是我们的楷模。

如果只能完成一些简单的CRUD,这个只能算是初级,或者叫做入门级。但是现在的招聘门槛还是比较高的,哪怕是应届毕业生,也需要具备一些比较高的技术水平。那怎么办呢?

  • 找到一两个业务点深度挖掘,并且要做到多方位参考。

比如:登录功能。不光要知道当前项目是怎么做的,还需要知道开源网站中其他项目是怎么做的?那么我们怎么找到其他具有相同业务点的项目呢?

  • Gitee、Github 其他相关项目
  • 黑马程序员 B 站项目课程
  • B 站搜索其他项目
  • 博客文章

这样做,我们能够更深刻地理解这个业务点,以及这个业务点多元的技术解决方案。如果我们能掌握这个业务的全方位需求和不同的技术解决方案,这时才算是一个中高级的程序员。

那么我们需要找到哪些功能点来深度学习呢?

3.应该学习哪些模块

目标: 增加简历的项目模块业务深度、技术含金量、同时也就具备了真实度。

以下是相对比较通用的模块:

在这里插入图片描述

上面我们知道了要选择模块进行深度学习,那么深入到什么程度呢?

4.模块该如何吃透

下面我们以 权限认证 模块为例进行说明。

1)功能实现

  • 业务功能实现:用户名密码登录、二维码登录、手机短信登录、用户、角色、权限管理和分配。
  • 技术方案支撑:RBAC模型、Spring Security 或 Apache Shiro。

表达清楚以上两点就可以说明你有能力开发这个模块了,但是还不够细。

2)常见的问题

  • token刷新问题,如何控制多点登录;
  • 加密/解密,采用哪种加密算法,怎么保证不会被破解呢;
  • 如何预防XSS防跨站攻击。

表达清楚常见的问题就可以表现你工作经历的真实性和技术的含金量了,但是依然还不够,我们要想成为中高级的程序员,必须要有设计的能力才行

3)权限系统设计

  • 可扩展性、高可用性、通用性。

例如:如果每个系统都需要权限认证的功能,那么我们每个系统都要重新开发一遍权限认证吗?当然不是,这样会比较浪费资源。所以我们需要将权限认证的功能从项目中抽取出来,做成一个单独的模块,可以让每个项目直接使用。

如果我们把这个设计的思路也给面试官表现出来,这个就是非常强的加分项。

可能面试官只是简单的问一句,那么通过上述三点极具含金量的回答,就会惊艳到面试官,可能直接就决定了你的去留,这样的真实例子有很多。

5.总结

1)如何找到合适的练手项目

  • Gitee 或 Github 搜索开源项目,B 站黑马程序员项目课程。

2)如何深入学习项目

  • 技术选型

    通用模块,可以嵌入到大部分项目中

  • 学习方式

    多方位参考深入挖掘业务和技术

  • 学习程度

    三个问题(功能实现、常见问题、系统设计)

四、Java程序员的面试过程

1.面试形式

企业在招聘的时候,不同的公司面试的轮次不太一样

  • 单轮面试:只有技术面试。中小企业、创业型公司、外包

  • 多轮面试:

    • 两轮:第一、二轮技术面。大部分公司

      例如只有一个岗位,一般第一轮是筛选多个,第二轮是从多个中选择最好的一个。

    • 三轮、N轮:一、二轮技术面、HR终面。上市公司、大厂

面试官角色:

  • 自身开发人员(技术经理):技术最好,多数参与首轮面试

    一般问一些技术点和复杂场景的处理。

  • 业务部门经理:技术一般,多数参与终面,可以决定你的薪资(思考能力、抗压能力)

    一般问一些业务场景的技术实现方案和选型。

  • HR:辅助业务部门考察候选人(性格、沟通能力、合作能力、学习能力)

2.Java程序员的面试过程

整体讲解结构: 总分结构表达

在这里插入图片描述

不同面试官的节奏不一样,有的面试官会听你介绍完,有的面试官就会打断你的自我发挥进行主动出击,根据简历中的某一条描述展开询问。

在这里插入图片描述

补充提问:

  • 使用 Redis 和 RabbitMQ 实现延时有什么区别?

  • redis是单线程的,为什么这么快呢?

如果我们想在面试过程中不断成长,成为面试杀手,那么有两步必须要做:准备+复盘

3.如何准备面试

找工作的心态找出自己的不足,针对性的补强。

推荐《孙子兵法》中有一段话送给大家:

求其上,得其中;求其中,得其下;求其下,必败。

如果你想冲进中厂,就要做进大厂的准备。
如果你想找到月薪1W+的工作,就需要做月薪1W5+的准备。
如果你的目标就是找到工作,起码要做冲击小厂的准备。
如果你的目标就是找个小公司混日子,大概率找不到工作。

整理完毕,完结撒花~ 🌻





参考地址:

1.新版Java面试专题视频教程,java八股文面试全套真题+深度详解(含大厂高频面试真题),https://www.bilibili.com/video/BV1yT411H7YK

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

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

相关文章

【owt】WebrtcNode, subscribe-sdp offer 流程(1)

sdp offer 流程 1. AmqpClient - New message received sdp offer 的消息 2023-04-26T21:54:19.790 - DEBUG: AmqpClient - RpcServer New message received {method: onTransportSignaling,args: [b149e44bb10d4e91bd162a8c6806ae7b,{sdp: v0\r\n o- 7177131362423164715 …

K8S常见应用场景(六)

Kubernetes 是一个可移植的、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。 Kubernetes 拥有一个庞大且快速增长的生态系统。Kubernetes 的服务、支持和工具广泛可用。 Kubernetes 这个名字源于希腊语,意为“…

【Java系列】Mybatis-Plus 使用介绍二

序言 你只管努力,其他交给时间,时间会证明一切。 MyBatis-Plus 是 MyBatis 的增强工具,它简化了 MyBatis 的开发,并提供了许多实用的功能和工具类。下面是 MyBatis-Plus 的使用方法: 1 使用方法 1. 引入依赖 在 Maven…

MySQL数据库 9.DQL操作

目录 ​编辑 🤔前言: 🤔DQL介绍: 🤔查询种类: 1.基本查询: 🔍1.查询多个字段: 🔍2.查询所有字段: 🔍3.去除重复记录&#xff…

【数据结构】常见排序算法——常见排序介绍、插入排序、直接插入排序、希尔排序

文章目录 1.排序的概念和应用1.1排序的概念1.2排序的运用1.3常见的排序算法 2.常见的排序算法2.1插入排序2.1.1直接插入排序2.1.2希尔排序 1.排序的概念和应用 1.1排序的概念 在计算机科学中,排序是将一组数据按照指定的顺序排列的过程。排序算法由于执行效率的不同…

01_爬虫基础知识和requests模块简介

爬虫基础知识 1、爬虫简介: 爬虫的作用:帮助我们把网站信息快速提取并保存爬虫的分类: 通用爬虫聚集爬虫爬虫的安全知识:目前来说,无明确法律规定,但每个官网都有自己的爬虫协议(网址后面加/robots.txt)爬虫的爬取流程: 1、获取网页2、提取信息3、保存数据2、爬虫必须…

分布式软件架构——远程服务调用

序言 “架构师”可以是做企业战略设计的架构师,也可以说做业务流程分析的架构师。 架构师视角特指软件系统中技术模型的系统设计者。 在做架构设计的时候,架构师应该思考哪些问题、可以选择哪些主流的解决方案和行业标准做法,以及这些主流方…

【自制C++深度学习框架】前言

KuiperCourse 介绍 此GitHub项目是一个初学者的深度学习框架,使用C编写,旨在为用户提供一种简单、易于理解的深度学习实现方式。以下是本项目的主要特点和功能: 计算图:使用计算图来描述深度学习模型的计算过程,利用计…

气球飘飘:用Java Swing创造令人心旷神怡的视觉奇观

✨博主:命运之光 ✨专栏:Java经典程序设计 前言:这篇博客在手机上打开可能会自动播放视频,视频有音乐,请及时关闭手机音乐哈🙂 目录 ✨导语 ✨引言 ✨简单介绍一下Javaswing这项技术简单介绍一下Javaswi…

简单的UDP网络程序·续写

该文承接文章 简单的UDP网络程序 对于客户端和服务端的基本源码参考上文,该文对服务器润色一下,并且实现几个基本的业务服务逻辑 目录 demo1 第一个功能:字典翻译 初始化字典 测试代码:打印 字符串分割 客户端修改 成品效果…

idea如何一个项目启动两个tomcat服务(不同端口)

目录 第一步:创建一个普通的springboot项目 第二步:编写一个controller代码,用来接收请求 第三步:复制服务,端口设置为8081 第四步:依次访问8080、8081两个服务进行测试 第一步:创建一个普通…

基于JavaWeb的保护动物管理系统设计与实现

摘要:随着全球一些稀有物种、野生动物日益稀少,保护动物已经成为全球多个国家开始重视并投入大量物力着手解决的重要课题。动物是大自然的产物,自然界是由许多复杂的生态系统构成的。有一种植物消失了,以这种植物为食的昆虫就会消…

easyExcel导入失败提示用户第几行有误并回滚数据

思路: 在controller定义一个map,将map传入excel监听器,在监听器中处理excel的数据,读取到某一行出现错误就将错误提示信息存入map并抛出一个异常给service。在service方法上开启事务,并将异常出实现数据回滚&#xff0…

vite使用vue3 v-for渲染图片时的写法

写法一 <template><divclass"demo-img"v-for"item in demoOption":key"item.code":style"background-image: url(${getImageUrl(../assets/imge/${item.img}.jpeg)})"></div> </template><script lang&qu…

2023网安最流行的10大工具(附安装包)

从事网络安全工作&#xff0c;手上自然离不开一些重要的网络安全工具。今天&#xff0c;分享10大网络安全工具。 一、Kali Linux Kali 是一个基于 Debian 的 Linux 发行版。它的目标就是为了简单&#xff1a;在一个实用的工具包里尽可能多的包含渗透和审计工具。Kali 实现了这…

Linux 之Python 定制篇-APT 软件管理和远程登录

Linux 之Python 定制篇-APT 软件管理和远程登录 apt 介绍 apt 是Advanced Packaging Tool 的简称&#xff0c;是一款安装包管理工具。在Ubuntu 下&#xff0c;我们可以使用apt 命令进行软件包的安装、删除、清理等&#xff0c;类似于Windows 中的软件管理工具。 unbuntu 软件…

【C++】深拷贝浅拷贝

前言&#xff1a;在 C 中&#xff0c;当一个对象通过赋值或拷贝即将成为另一个对象的副本时&#xff0c;会发生“浅拷贝”或“深拷贝”。 什么是浅拷贝&#xff1f; 浅拷贝是指两个对象共享同一个内存地址&#xff0c;即将源对象的数据成员的地址赋给了目标对象&#xff0c;当…

vue diff算法与虚拟dom知识整理(15) 终结篇,收尾新前到旧前全部不匹配情况

我们现在就只需要处理最后一种情况了 我们在 updateChildren.js 在while中 的if最后加个 else 当他们都没哟匹配到的情况 我们现在在updateChildren.js最上面 定义一个空对象 叫 keyMap 参考代码如下 let keyMap null;然后 在我们刚写的else中编写代码如下 //判断 如果…

Stable-Diffusion|入门怎么下载与使用civitai网站的模型(二)

C站&#xff1a;https://civitai.com/ 文章目录 1 样图2 实现2.1 下载主模型并放到正确文件夹中2.2 找到prompt2.3 生成2.4 Lora使用 3 一些有趣的项目3.1 胶片风格Lora3.2 [最近很火] 现实感很强的Majicmix-realistic 先贴几张笔者自己实验的图&#xff0c;模型来自&#xff1…

Libevent学习

一、Libevent概述 1、简介 Libevent 是一个用C语言编写的、轻量级的开源高性能事件通知库&#xff0c;主要有以下几个亮点&#xff1a;事件驱动&#xff08; event-driven&#xff09;&#xff0c;高性能;轻量级&#xff0c;专注于网络&#xff0c;不如 ACE 那么臃肿庞大&…