一名开发三年的Java程序员陈述:进大公司拿30K+到底有多难?

JVM核心知识体系 OSGI是脱胎于(OSGI Alliance)技术联盟由一组规范和对应子规范共同定义的JAVA动态模块化技术。实现该规范的OSGI框架(如Apache Felix)使应用程序的模块能够在本地或者网络中实现端到端的通信,目前已经发布了第7版。OSGI有很多优点诸如热部署,类隔离,高内聚,低耦合的优势,但同时也带来了性能损耗,而且基于OSGI目前的规范繁多复杂,开发门槛较高。 阅读详情

目前一线城市的薪资水平在13到40k之间,但是找工作的时候并不仅仅有工作经验就行了,还需要一定的专业知识。如果你野心更大,想要进阿里美团头条等等这些大厂的话,那就需要更多的专业知识。那么,一个三年工作经验的Java程序员应该要具备哪些知识呢?

我整理了之后发现,程序员需要懂好多的知识。

一、项目经验

项目经验是程序员们最重要的财富,也是面试中必问的问题。一般面试官都会借着项目经验来考查应聘者的沟通能力和思考能力。三年工作经验的程序员一般都会有两个以上的项目经验,但实际我们大部分的情况都是做产品的一个功能或一个模块。虽然我们能很好的完成工作上的要求,但是对于面试这肯定是不够的。对于面试来说,我们还要完成以下四点。

· 知道你的项目到底是做什么的,有哪些功能。

· 知道你做的项目在整个项目中所处的位置及作用,并能清晰地阐述模块间的调用关系。

· 知道你项目的整体架构和使用到的中间件,并对中间件的原理有一定的了解。

· 能流畅地阐述自己在项目中解决过的比较复杂的问题。

二、Java的基础知识

技术知识这块面试还是蛮常见的。不过大多问的比较简单。这是我罗列的一些我曾被问到的问题,大家私下参考一下。

· 栈和队列的区别

· 接口和抽象类的区别

· Int和Integer的区别和自动拆箱/装箱的相关问题

· 常量池相关问题

三、集合框架

集合框架的底层原理,是面试很常见的问题。无论去大公司面试,还是去小公司面试都会问。只不过问深问浅的区别。

· ArrayList,LinkedList,HashMap,LinkedHashMap,ConcurrentHashMap的底层实现原理

· 1.7版本和1.8版本的HashMap的区别

· HashMap能不能排序?HashMap的长度为什么要是2的幂次方?

不过不管怎么样,大家去面试的话,都要把上述的问题都尽量弄懂。最低的要求就是把hashmap的底层原理弄懂。

四、多线程

· 创建线程的几种方式?Wait,sleep分别是谁的方法,区别?线程间的通信方式?

· 介绍下什么是死锁,遇见过死锁吗?你是怎么排查的。(可以通过jps排查)

· 创建线程池的几种方式,线程池有什么好处。

· 线程继承和接口的区别,接口有什么好处。

· Synchronized、Lock、ReentrantLock的区别,用法及原理。

· ThreadLocal的用法和原理

· Volatile关键字的作用和原理

· 乐观锁和悲观锁

· 对公平锁,非公平锁,可重入锁,自旋锁,读写锁的理解

· CAS是什么及底层原理

· ArrayBlockingQueue,LinkedBlockingQueue,SynchronousQueue等等堵塞队列的理解

· ThreadPoolExecutor的传入参数及内部工作原理

· 给你一个具体的业务场景,让你使用ThreadPoolExecutor创建一个适合的线程池

· 分布式环境下,怎么保证线程安全

多线程一般是高级程序员面试中的重点。现在的项目高并发很多,所以面试多线程这块还是挺多的。一般大厂会问得很深。从第十点开始就蛮难的了,大家可以根据自己的情况酌情学习。

五、JVM相关问题

· JVM内存机制

· 介绍下垃圾收集机制,垃圾收集有哪些算法,各自的特点

· 聊聊GC,谈谈Major GC,FullGe区别,垃圾收集器有哪些,他们的区别?

· OutOfMemeryError这个错误你遇到过吗?你是怎么解决处理的?

· JVM调优有哪些参数,介绍下,线上环境上,你是怎么查看JVM的参数并进行调优的?

· 能不能自己写一个类叫java.lang.String(类加载的过程,双亲委派模型)

JVM这块一直是高级程序员面试中的重点。想拿高薪这块一定得懂。而且不仅懂,还要有一定的实战经验。

六、框架相关问题

· Spring用了哪些设计模式?Spring注入bean的方式?对SpringIOC和SpringAOP的理解?

· Spring事务隔离级别和传播机制?

· Mybatis的缓存机制(一级缓存和二级缓存),Mybatis的mapper文件中#和$的区别

· SpringMVC的流程

· Spring和SpringBoot的区别?

· 对SpringBoot的理解

· RPC框架有哪些,他们的区别?

· Dubbo的使用和理解

· Spring Cloud的使用和组件,谈谈你的理解

框架这块一直都是面试的重点,不过根据我的经验,框架这里一般不会问的很深,很少碰到让你说源码,主要还是考察你对框架的设计理解和框架的流程。

七、消息中间件

· 你们公司是如何进行消息中间件的技术选型?

· 如何保证消息中间件的高可用?

· 如何保证消息中间件重复发送消息?

· 消息队列积压了大量的消息,你该怎么处理?

· 如何保证消费者消费消息是有顺序的?

· 让你来开发一个消息中间件,你会怎么架构?

消息中间件还是蛮重要的,无论对面试还是工作来说都是重点。大家一定要对这块多研究,多了解。

八、Redis

· 你们公司为什么要使用Redis?Redis有几种数据类型?

· Redis持久化机制?Redis的过期策略?

· 怎么保证Redis的高可用?

· 什么是缓存穿透?如何避免?什么是缓存雪崩?如何避免?

· 如何保证缓存与数据库的双写一致性?

· Redis单线程模型原理,为什么能支撑高并发?

· Redis哨兵架构的理解和底层原理

现在高并发场景越来越多,基本面试必问缓存,只是或深或浅而已。比较常问的就是1到5,6、7想挑战大厂的可以去研究。

九、数据库

· 工作中你是怎么优化sql的?

· 什么情况下,索引会失效?

· 数据库的存储引擎,比如:MySQL的MyISAM和InnoDB区别?

· 索引的最左原则

· 索引的底层原理

· 你们公司是怎么进行分库分表?分库分表的方案

数据库的优化一般都会问,涉及索引的地方会问的多些,还会问到难度比较高的用库分表,这里网上都有方案,一般都是主从库或Mycat,大家可以去学习了解一下。

十、其他

· 分布式事务是怎么解决的?

· 分布式session方案?

· 设计一个秒杀场景

· 怎么防止表单多次提交

· Linux的基本操作命令

· ElasticSearch的使用和原理

· Zookeep的使用和原理

这块主要是问你一些常见的业务场景,比较开放式,还会根据你自己的简历来问。比如你的简历项目里面有ElasticSearch,那么面试官就会问你这些中间件的使用和原理。如果你成功地通过了所有的技术面,那么恭喜你,你离收到offer无限接近了。

只知其概念而不知深入运用是达不到基本要求的,针对以上的知识点我准备了一套实用于所以开发人员的核心知识体系和深入PDF文档(基础知识-JVM-设计模式-Redis-数据结构与算法-spring全家桶等全部有深入解析)

一键三连+评论,然后添加我的VX(tkzl6666)即可免费领取。

一名开发三年的Java程序员陈述:进大公司拿30K+的面经到底有多难? 目前一线城市的薪资水平在13到40k之间,但是找工作的时候并不仅仅有工作经验就行了,还需要一定的专业知识。如果你野心更大,想要进阿里美团头条等等这些大厂的话,那就需要更多的专业知识。那么,一个三年工作经验的Java程序员应该要具备哪些知识呢? 我整理了之后发现,程序员需要懂好多的知识。 关注我添加VX:MXW5308 免费领取学习资料 一、项目经验 项目经验是程序员们最重要的财富,也是面试中必问的问题。一般面试官都会借着项目经验来考查应聘者的沟通能力和思考能力。三年工作经验的程序员一般都会有两个 阅读详情

相关推荐

Java 读取写Redis里的数据

启动时,现将自己电脑内的Redis运行起来。里面有测试类,可选择性进行测试不同数据类型的读写方式。

跟进JVM七大核心系统的资源升级 从基础理论到高级应用扎实你的应用

内存设置:根据应用程序的需求和性能特点,合理设置堆内存大小、新生代和老年代的比例等参数,以避免内存不足或过度消耗内存的问题。GC策略选择:根据应用的负载和特点,选择合适的GC收集器和GC策略,如CMS、G1等,并进行调优以提高垃圾回收性能。垃圾回收(GC)算法:了解常见的GC算法,如标记清除、复制、标记整理等,以及不同类型的垃圾收集器的特点和适用场景。JVM架构:了解JVM的整体架构,包括类加载器、运行时数据区域、执行引擎等,理解每个组件的作用和相互关系。三、掌握JVM调试和性能分析工具。

2301_81673114的博客 1998

【多媒体交互】Unity+普通摄像头实现UI事件分析

利用摄像头捕捉用户的手势或动作,结合坐标映射与事件系统触发UI交互

qq_38350004的博客 1318

掌握JVM:从基础到高级,一篇全面解读与实战指南

什么是JVM? JVM涉及哪些知识点?我们需要掌握到什么程度?本篇文章涉及JVM大部分知识点,可以作为备忘录来用!

小宇宙的博客 554

别再乱调NvM_WriteBlock了!手把手教你搞懂Autosar NVM状态机与读写时序

本文深入解析Autosar NVM状态机与读写时序,帮助开发者避免常见错误。通过详细的状态机解读、最佳实践代码示例和异常处理策略,提升嵌入式系统中数据存储的可靠性。特别针对NvM_WriteBlock的调用逻辑和状态机机制进行实战讲解,解决工程师在实际开发中遇到的异步写入问题。

weixin_33701617的博客 344

基于RK3588与FPGA的SDI视频处理系统:从MIPI CSI-2输入到DSI输出的全链路解析

本文深入解析了基于RK3588与FPGA的SDI视频处理系统全链路。系统利用FPGA作为高速接口转换与流管理核心,将SDI信号转换为MIPI CSI-2数据流送入RK3588进行智能图像处理与AI分析,处理结果再通过MIPI DSI回传,最终由FPGA控制编码为SDI输出,实现了专业视频接口与强大算力的高效协同。

s1t2u3的博客 667

进大公司拿30K+到底有多难?一名开发三年的Java程序员陈述

目前一线城市的薪资水平在13到40k之间,但是找工作的时候并不仅仅有工作经验就行了,还需要一定的专业知识。如果你野心更大,想要进阿里美团头条等等这些大厂的话,那就需要更多的专业知识。那么,一个三年工作经验的Java程序员应该要具备哪些知识呢? 我整理了之后发现,程序员需要懂好多的知识。 一、项目经验 项目经验是程序员们最重要的财富,也是面试中必问的问题。一般面试官都会借着项目经验来考查应聘者的沟通能力和思考能力。三年工作经验的程序员一般都会有两个以上的项目经验,但实际我们大部分的情况都是做产品的一个功

weixin_47531845的博客 877

KV STUDIO的安装与实践(一)

KV STUDIO是一种软件开发工具,用于编写、调试和管理基于Key-Value(键-值)存储的应用程序。KV STUDIO提供了一个集成开发环境(IDE),使开发人员可以方便地创建和管理键-值数据库,并编写逻辑和业务规则来操作和查询这些数据。它支持多种编程语言和平台,并提供了丰富的API和工具来简化开发过程。使用KV STUDIO,开发人员可以快速构建高效、可靠的键-值存储系统,并实现各种应用程序,如缓存、会话管理、配置存储等。本次使用plc进行案例讲解,结合小编的亲身经历,仅供参考!

weixin_47514459的博客 6359

一名开发三年的Java程序员陈述:进大公司拿30K+的面经到底有多难?(1)

现在的项目高并发很多,所以面试多线程这块还是挺多的。框架这块一直都是面试的重点,不过根据我的经验,框架这里一般不会问的很深,很少碰到让你说源码,主要还是考察你对框架的设计理解和框架的流程。集合框架的底层原理,是面试很常见的问题。· Mybatis的缓存机制(一级缓存和二级缓存),Mybatis的mapper文件中#和$的区别。· 聊聊GC,谈谈Major GC,FullGe区别,垃圾收集器有哪些,他们的区别?· JVM调优有哪些参数,介绍下,线上环境上,你是怎么查看JVM的参数并进行调优的?

2401_84411323的博客 852

AUTOSAR进阶图解==>AUTOSAR_SWS_DefaultErrorTracer

AUTOSAR Default Error Tracer (DET)是AUTOSAR架构中的核心错误追踪模块,提供统一的错误报告机制。DET能够处理开发错误、运行时错误和瞬态故障三类问题,支持模块级和实例级的配置管理。模块架构上,DET通过Det_API接口与其他模块交互,可配置转发错误至诊断事件管理器(DEM)或调试日志追踪(DLT)。其配置结构包含全局参数和模块实例参数,允许灵活控制错误报告行为。DET在AUTOSAR 4.3.0版本中从DevelopmentErrorTracer扩展而来,增强了错误处

一名留德华的,康德的信徒的,专注于汽车电子领域的博客 910

大数据利器Hadoop:从基础到实战,一篇文章掌握大数据处理精髓!

在当今大数据时代,数据量的爆炸式增长对企业和技术提出了前所未有的挑战。如何高效地存储、处理和分析这些庞大的数据集,成为了亟待解决的问题。Hadoop作为一种分布式计算框架,应运而生,为大数据处理提供了有效的解决方案。Hadoop是一个由Apache软件基金会维护的开源项目,它基于Google的分布式文件系统(Google File System,GFS)和MapReduce计算模型设计。Hadoop的主要目标是处理大规模数据集,它可以在普通硬件集群上运行,从而降低了大数据处理的成本。

邓邓子的博客 8280

一名开发三年的Java程序员陈述:不就进公司想拿个30K+嘛 愣是把Spring问烂了

你们知道今年工作有多难找吗?反正我是累了,面试官已经把Spring给问烂了,问!烂!了! 先随便上十道面试题你们感受一下: 使 用 Spring 框 架 的 好 处 是 什 么 解 释 AOP 模 块 解 释 JDBC 抽 象 和 DAO 模 块 如何用基于 Java 配置的方式配置 Spring 什 么 是 Spring IOC 容 器 哪 种 依 赖 注 入 方 式 你 建 议 使 用,构 造 器 注 入,还 是Setter 方 法 注 入 Spring 的核心类有哪些,各有什.

bieber007的博客 1817

华为OD机考双机位C卷 - 虚拟理财游戏(Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷 - 虚拟理财游戏(OD上机考试双机位C卷)。提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。

算法大师! 668

进大公司拿30K+到底有多难?一名开发三年的Java程序员来告诉你

前言 目前一线城市的薪资水平在13到40k之间,但是找工作的时候并不仅仅有工作经验就行了,还需要一定的专业知识。如果你野心更大,想要进阿里美团头条等等这些大厂的话,那就需要更多的专业知识。那么,一个三年工作经验的Java程序员应该要具备哪些知识呢? 我整理了之后发现,程序员需要懂好多的知识。 一:项目经验 项目经验是程序员们最重要的财富,也是面试中必问的问题。一般面试官都会借着项目经验来考查应聘者的沟通能力和思考能力。三年工作经验的程序员一般都会有两个以上的项目经验,但实际我们大部分的情况都是做产.

weixin_46577306的博客 9118

【零基础学习CAPL】——弹窗信息提示

不用手动制作Panel窗口,直接使用CAPL脚本实现弹窗提示。//没有wait超时,等待测试人员确认//有wait超时,对话框在超时后自动终止//有wait超时,可以显示一个资源,即对话框可以显示额外的信息。/*参数说明text:显示在弹窗中的内容,长度限制在4096字符timeout:弹窗自动结束的时间,单位:ms。若为0,则无超时控制heading:对话框文本上方的标题。字符串最大长度限制在256个字符。resource:URL或文件路径。字符串的最大长度是有限的(512个字符)。

LOVE135149的博客 264

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

开发三年的Java程序员陈述:进大公司拿30K+到底有多难?

三年工作经验的程序员一般都会有两个以上的项目经验,但实际我们大部分的情况都是做产品的一个功能或一个模块。这块主要是问你一些常见的业务场景,比较开放式,还会根据你自己的简历来问。数据库的优化一般都会问,涉及索引的地方会问的多些,还会问到难度比较高的用库分表,这里网上都有方案,一般都是主从库或Mycat,大家可以去学习了解一下。框架这块一直都是面试的重点,不过根据我的经验,框架这里一般不会问的很深,很少碰到让你说源码,主要还是考察你对框架的设计理解和框架的流程。集合框架的底层原理,是面试很常见的问题。

m0_69305074的博客 387

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

上一篇: Java开发工作4年还是只会“增删改查”,Java程序员该如何进阶?
下一篇: Alibaba2020年度内部全技术栈PPT总结(基础+架构+算法+大数据+手册)
JavaBUGa
博客等级 码龄7年 146粉丝 163原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值