两年java到底应该具备什么样的水平,才能面试BATG大厂

两年JAVA经验,非科班菜鸡的我是如何拿下字节、美团、腾讯等offer的?吃透这份面经,大厂不再是梦! 前言 博主深圳某不知名大学本科毕业,一开始一直觉得大厂是自己遥不可及的梦,毕业之后在一家国有银行的科技部门干了两年,做的主要是线上消费贷款的后台部分。干了差不多两年,公司的业务都会了,技术也没办法再提升,我感觉也是时候出来看看机会了。毕竟谁还没个大厂梦呢? 准备阶段 准备一份好的简历 想进大厂简历是一定不能马虎的,一份好的简历直接决定了你有没有面试的机会,即使你技术再强过不了简历也发挥不了,建议不要直接投大厂,可以先投一些小厂积累面试经验。 不会包装简历没关系,博主准备了一些简历模板,当时我也 阅读详情

前言

从过年前就萌生出要跳槽换城市的想法,到过年来公司从3月初提出离职到23号正式离职,上班的时间也出去面试过几家公司,后来总觉的在职找工作总是得请假,便决心离职后找工作。到4月10号找到了一家互联网公司成功应聘上,中间也经历了很多公司,有外包的、创业的、互联网的等等各种类型,也收到了很多offer,也有面试不顺利的...今天就通过博客来记录一下自己面试中的问题,围绕着两年java到底应该具备什么样的水平才能适应现在市场的要求的主题来谈一谈。

本篇目录:

一:面试中的问题

二: 面试中要注意的问题

三:关于最后的选择

四:两年java到底应该具备什么样的水平

一:面试中的问题

java集合框架:

1:介绍一下java的集合框架

2:HashMap遇见哈希冲突会如何怎么办?HashMap是线程安全的吗?HashMap在高并发下会有什么问题?然后引入ConcurrentHashMap的原理?

3:Hahtable和concurrentHashMap的区别?

4:数组和ArrayList的区别?Arraylist是如何扩容的?

5:线程池中的阻塞队列一般会选择哪种队列?为什么?

6:RetreenLock的原理?AQS的原理?

7:HashMap的容量为什么推荐是2的幂次方?

框架类:

1:mybatis的二级缓存有什么问题?

2:mybaits中的mapper的#{}和${}有什么区别?哪种可以防止sql注入?

2:我们知道mybatis的mapper和接口之间是没有对象的,那么它是如何映射的?

4:说说springmvc的注解有哪些?他们的原理是什么?

5:springmvc的控制器是单例的吗?是线程安全的吗?

6:struts1和struts2的区别?是线程安全的吗?

7:spring如何解析它的xml文件?

8:spring的核心是什么?Aop的原理是什么?

redis相关:

1:redis数据类型有哪些?

2:zset数据类型是如何排序的?

3:redis如何做项目的中间缓存层?

4:redis的Hash的时间复杂度是多少?

数据库:

1:数据库索引分为哪几种?组合索引有什么要注意的问题?

2:什么是悲观锁 什么是乐观锁?如何实现悲观锁?

3: 数据库关键字的执行顺序是什么?

4:如何进行sql优化?

5:有没有进行过分库分表操作?分库之后如何保持事务一致?

分布式和微服务:

1:微服务要克服那些问题?微服务系统是怎样通信的?

2:分布式环境下如何解决session不一致的问题?

3:分布式下如何保证id一致?

4:你在dubbo的使用过程中遇到什么问题?

5:  zookeeper的负载均衡算法有哪些?

jdk源码相关

1:synchronized的原理?它该怎么用?如何一个方法是synchronized的,其他的非synchronzied线程能进入吗?

2:cvs中的ABA问题如何解决?

3:volatile的原理是什么?volatile一定是线程安全的吗?

4:ThreadLocal是什么?它的原理是什么?

5:CountDowanLatch有没有用过?适合在什么样的场景下用?

设计模式相关:

1:实现两种单例模式

2:讲一下观察者模式

3:spring中都用到哪些设计模式?

4:动态代理模式是如何实现的?

5:你在项目中用到哪些设计模式了?讲解一下业务场景

算法相关:

1:快速排序的时间复杂度?手写快速排序(注意递归式和非递归式的实现方式)

2:手写二分查找

3:手写堆排序

4:一个int数组如何进行奇数和偶数分离?

5:用算法实现String转double

jvm相关:

1: jvm的垃圾回收算法有哪些?分别解释一下?

2: 新生代为什么要设置两个survior区?

3:如何通过一个.class文件获取它的jdk版本?

4:jvm的内存模型?哪些是线程私有的?哪些是公共的?

关于自己的项目(问的时间最长)

1:简述一下自己的项目?你在其中主要是做什么的?

2:你在项目中都遇到了哪些难题?最后都是怎么解决的?

3:项目有多大规模?周期多久(这个很多都问到的)

4:讲一下某一模块的具体实现方式?然后从中挑刺

5:如何解决某一时刻的高并发请求?

6:如何解决订单支付回调的超时问题?轮询应该怎么写?

其他:

1:秒杀场景如何削峰?

2:http和udp的区别是什么?

3:ajax的跨域问题

4:nio与io的区别?什么情况下适合用nio

5:  说说常见的linux命令,linux查看内存的命令是什么?

7:git遇见代码冲突了怎么办?

8:说几个常见的maven命令,maven如何排除一个jar包的冲突?

二: 面试中要注意的问题

2.1:一定要有自己的实际项目经验

按照我这么多面试经验?其实有的公司会侧重于问自己做的项目经验,有的公司侧重于问问题,一般互联网公司会对技术要求比较高,既要求项目经验又要要求技术水平

2.2:可以适当渲染,但是不要夸大其词

面试的过程中最忌讳的就是夸夸其谈,高屋建瓴很厉害,但是一到实际细节都不知所云了,在技术总监面前,其实你吹牛或者是真的会他是一目了然的。不懂装懂,有的面试官又给你台阶下,不然你就卡带了,这很容易造成面试的不好印象

2.3:要会自我介绍

面试的时候一般的话都会让你做一个自我介绍,这个要分对象,是技术官还是Hr,如果是技术官侧重于综述一下自己的项目的实际技术栈和技术路线,如果是Hr的话不要用过多的技术语言,而要说一些自己的实际工作经历或者自己上家公司的运营情况

2.4:关于简历

简历切记不可太啰嗦,但是不可太简单,作为技术的简历一般起码得在3页,不然HR会觉得你的求职态度不怎么好,不管如何求职结果如何,一个良好的简历会给人留下好的第一印象

三:关于最后的选择

   说实话也接受到很多HR的offer邀请,但是我一般会选择说考虑一下一天以后再给回复,切不可直接把话说死,不然后面就尴尬了。实际提供的offer的有一家外包公司,三家创业公司,两家互联网公司,最终选择了一家互联网公司,虽然实际上班地点有点远(下了地铁还得座公交,后来还是选择骑单车了),但是互联网公司会给你快的成长速度,并且互联网技术栈都比较新..相比于传统企业会有更多的技术挑战。而外包公司的话,可能环境不怎么好,我记得自己当初还是个小白的时候,去了外包,那里的优点就是会有不断的活,新人进去的话收获还是挺多的,但是作为已经有两年经验的我,外包很显然不适合我的后期职业发展。缺点:技术更新迭代的太慢,没有归属感,最后的选择我个人的意见是选择技术优先,毕竟以后软件路还长,技术才是王道

四:两年java到底应该具备什么样的水平

 两年java的面试过程中遇到了很多挑战,也遇到了一些不谈技术的公司,从上面的面试题可以看出,目前对于java的要求越来越高,水涨船高,毕竟这个行业的人数越来越多,而保持自己的竞争力的唯一方法就是找对方向,不断学习,注意这里我提到的第一点是方向,然后才是学习。给自己制定一个职业规划,按照这个路线往前走,我其实还在想分布式微服务这块以后再深入学习,可是按照市场要求,现在已经刻不容缓了,一些技术架构比如:springcloud、duboo都得保持学习,这样才能有竞争力!作为一名两年的javaSir,你必须具备以下技能

1:阅读源码的能力,多用Intelj idea这个开发工具,而不是eclipse。它是直接支持反编译class文件的,多读jdk源码,吸收优秀的源码并加以复用

2:做到能够手写常见的排序算法,比如快速排序和堆排序、冒泡排序、选择排序、二分查找这些都是必须的

3:对java的框架有很深入的认识,现在基本流行的ssm框架很多人都会,可是知道一些原理的人就不多了,得不断研究这些框架本身,它们都是经过无数次锤炼 出来的优秀框架

4:多用redis\mongodb,传统的关系型数据库已经无法市场需求了,这些东西也是面试中的一部分,虽不是重点,但也是加分的选项

5:对于微服务和分布式,这个是有一定难度的,我在面试人人车的时候,一面很顺利,二面被技术总监给pass了,问题就是分布式不是特别熟悉!要想进入好的互联网公司,分布式和微服务是很必须的

 

五:福利彩蛋

最后,在新的工作即将尘埃落定的时候,祝福各位都能找到心仪的工作。

在此也分享一些小编准备的面试答案以及学习资料

针对于上面的面试题我总结出了互联网公司java程序员面试涉及到的绝大部分面试题及答案做成了文档和架构视频资料免费分享给大家(包括Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高并发等架构技术资料),希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习,也可以关注我以后会有更多干货分享。需要领取资料的看下方 即可领取,希望和志同道合的朋友一起学习,一起进步。

 

一名北漂三年的Java程序员的面试经历和题库总结

 

一名北漂三年的Java程序员的面试经历和题库总结

 

 

Java2023面试题大全(推荐两年学习经验的面试生阅读) 学长与你同在! 阅读详情

相关推荐

WPF插件架构-如何动态加载封装好的第三方DLL的界面

插件架构中如何自动加载第三方DLL中的UI界面

lg24k的博客 1883

抓住这些BUG程序员进大厂也就这回事,工作后2到3年进大厂操作指南

在BAT这种大厂里,只要肯吃苦,技术和工资进步的速度会超出你想象,我在上海,按当前价格算,一般在大厂里干个三四年,好歹房子的首付应该能有,而且这种房子还不是太偏远太小的。 进大厂确实需要一定的实力,但如果单单技术好,没有其它的技巧,估计确实也有些难度。不过话说来,哪怕是二本出身,哪怕技术一般,只要肯上心加方法得当,工作后3年进大厂应该不是难事。在本文里,就将针对起点一般技术一般的同学,给出具体的进大厂操作指南。 一、先从战略上藐视,进大厂也就这回事 大厂里也有只有2,3年开发经验的初级开发,而且其..

Java0258的博客 1055

汇川H5U搭配步进伺服电机使用CANopen通讯控制电机案例

摘要:本文介绍了基于汇川H5U PLC和STM4260B-CANopen-M步进伺服电机的控制系统搭建流程。主要内容包括:硬件准备(PLC、伺服电机、24V电源)、电机参数默认设置(地址1号、1M波特率)、使用AutoShop软件编写程序(配置CANopen参数、导入电机描述文件、设置PDO参数)以及功能块编程(使能控制、速度控制、绝对位置控制等)。通过查阅通讯手册完成各功能块参数配置,最终在主程序中调用功能块实现控制系统开发。该方案适用于需要精确运动控制的工业自动化场景。

m0_46512607的博客 1596

java开发1年经验、2年经验、3年经验区别是什么

java开发1年经验、2年经验、3年经验区别是什么

大连赵哥的博客 1525

零基础手把手教你做FMEDA

本文通过分步骤手把手来教大家具体如何做FMEDA,希望对工作中要做FMEDA的童鞋有帮助。对于工作当中用不到FMEDA的童鞋,也可以作为科普知识,更好地了解一下FMEDA及硬件功能安全。

NewCarRen的博客 9935

STM32中断实战:用ITR9606红外传感器DIY转速计数器(附完整代码)

本文详细介绍了如何使用STM32中断机制和ITR9606红外传感器DIY高精度转速计数器。从传感器选型、中断配置到抗干扰设计,提供完整的实战指南和优化代码,特别适合嵌入式开发者和硬件工程师快速实现工业级转速检测系统。

weixin_29159613的博客 291

JAVA面试常见问题记录(2-5年经验)

你认为你JAVA开发中遇到的比较难的问题是什么? 分布式事务TCC怎么实现的? 单点登录是怎么搞的? sychoronized是怎么实现的? 线程池常用参数是什么? 为什么要分库分表,使用场景是什么? ...

m0_63270506的博客 3961

Nordic开发者必备:SEGGER Embedded Studio免费许可证申请与配置全攻略

本文为Nordic芯片开发者提供了SEGGER Embedded Studio(SES)集成开发环境的详细配置指南。内容涵盖免费许可证的合规申请流程、项目创建、Nordic SDK集成,以及编辑器优化、构建调试配置、RTT日志输出等核心功能的高效设置,旨在帮助开发者构建深度优化的专业开发环境,显著提升嵌入式开发效率。

cheese的博客 353

2年Java开发需要具有什么水平?

2年Java开发需要具有什么水平?每个程序员都应该有自己的职业规划,清楚的了解自己在不同的阶段应该掌握什么技能。2年工作经验的Java程序员应该具备的技能是Java程序员们比较关心的内容。掌握得越多能得到的评价拿到的薪水势必也越高。 2年Java开发需要具有的水平 2年Java开发需要掌握的知识点: 1、基本语法 static,final,volatile,transient,public,protected,private,synchronized等关键词的用法,lambda表达式的应用,类,

a13883750417的博客 1485

操作系统知识点汇总(王道)

操作系统不论是就业还是升学都是核心的一门课程,对于大部分工科更是必修课程。本文章是对《王道操作系统》所有知识点的总结笔记,以供大家学习以及在备考期间复习使用。让我们一起把知识往脑子里旋好吗!!!......

S mile0804的博客 5万+

MobaXterm SSH连接失败:深入解析密钥格式错误导致的Software caused connection abort

本文深入解析了MobaXterm SSH连接失败问题,特别是因密钥格式错误导致的'Software caused connection abort'错误。通过分析系统日志和密钥损坏原因,提供了重建SSH主机密钥的详细步骤,包括备份、生成新密钥及权限设置,帮助用户彻底解决连接中断问题。

weixin_29306011的博客 477

那个当年的二本学渣,工作两年,为何跳进大厂

2019年,随着大数据、AI、云计算等新技术的登场,传统互联网技术从业者的职业发展及薪资越发受到限制。新的技术,意味着新的行业、新的机遇,无论你选择哪个方向,不断持续学习...

微信搜:import_bigdata,大数据领域硬核原创作者 1295

【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)

输入电压采集上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, 由于二极 管的正向导通特性, 用户反接电源时亦不会烧坏后级电路。图中 R8、R9 组成分压电路, 由单片机 AD 采集 IO 口 P14 采集 AD 值, 并由计算公式电压 =133300(AD/4096)mV;

Naiva的博客 1995

两年Java的面试经验(面试究竟会问我们些什么)

前言:从过年前就萌生出要跳槽的想法,到过年来公司从3月初提出离职到23号正式离职,上班的时间也出去面试过几家公司,后来总觉的在职找工作总是得请假,便决心离职后找工作。到4月10号找到了一家互联网公司成功应聘上,中间也经历了很多公司,有外包的、创业的、互联网的等等各种类型,也收到了很多offer,也有面试不顺利的...今天就通过博客来记录一下自己面试中的问题,围绕着两年java到底应该具备什么样的水平才能适应现在市场的要求的主题来谈一谈。 本篇博客目录: 一:面试中的问题 二: 面试中要注意的问题 三

ayouki123456的博客 1598

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

挑战40天准备Java面试,成功上岸字节,这就是最快拿到大厂offer的方式!(Java自学最强干货分享)

有关java项目在面试中越来越普遍化,不仅需要P6+有体系化的思维,在一些基础SDE岗位上也经常被涉及,需要对技术栈有清晰的理解,体系化思维完整。由于算法的知识体系太过庞大,想要短时间内掌握所有知识点真的不是一般人能达到的高度,所以我们要知道大厂喜欢考什么,有选择性的攻克!对于零基础的小白,我推荐从看视频开始学习,相比书籍和学习资料,看视频更容易一些,视频里每个知识点都有示范,你只需理解和模仿即可。逻辑理清楚了,循序渐进的从理解到操作,再用coding的形式表示出来,可以说是手把手教我们入门了。

BASK2311的博客 779

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Java学习:Java学习到什么程度可以进行面试

作为最受欢迎的编程语言,Java简直是IT领域的敲门砖,只要精通Java语言,找到好工作,进入大企业又多了一层保障。很多人都向往Java编程的广阔就业前景,却苦于不懂Java编程知识, 学习Java到什么程度可以面试呢,掌握Java基础、计算机基础知识,并且是非常熟练地掌握,你需要深入理解每一个知识点,因为面试官会不断深入地向你提问,了解你的知识深度,同时,你需要对源码有所理解,在读懂源码的基础上去理解框架的实现、JDK的实现。 另外,你需要对JVM有一个清晰的认识,不仅要了解其结构,垃圾回收原理,甚至还要

weixin_51217776的博客 533

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

2年Java开发工作经验,跳槽之后面试20余家公司的总结

在看面试题的过程,你会遇到一些自己没接触过的或者以前没深入学习过的知识,例如最常问的HashMap内部实现原理,这就促使你得开始去看jdk的源码或者是学习一些新的东西。看源码是很重要的一步,起步很难,但是会让你收益良多,看源码的过程如果碰到无法理解的地方,可以百度看下别人的理解。我当初也没想到简历筛选这关有这么难,可能是我的简历确实亮点不多,再者HR很多都不是行内人,因此他们看得最直接的就是你上家的公司和你毕业的学校,如果你不是从牛逼的公司/学校出来,可能会碰到和我一样的情况,应对的办法就是多投。

javaAnPou的博客 454

Java 工作2年后需要达到怎么样的技术水平

请具体一点说要会什么技术?以及这些技术要达到什么水平?我转载了知乎上这个问题得票最高的回答。出处:[在北京做Java开发如何月薪达到两万,需要技术水平达到什么程度?](https://www.zhihu.com/question/39890405)有人回答说这只能是大企业或者互联网企业的工程师才能拿到。也许是的,小公司或者非互联网企业拿两万的不太可能是码农了,应该是已经转管理后才有可能。还有区域问题

狮子座明仔知识集散场 1万+

java2年经验要求是什么

java2年经验要求是什么

大连赵哥的博客 739

Java面试题及答案整理( 2023年 6 月最新版,持续更新)

死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。

qq13321123的博客 4万+

拥有两年的经验的java工程师要具备的知识

1、对Jvm运行原理与常用配置要有一定的了解。 2、熟悉面向对象的设计原则,掌握常用的设计模式和应用场景。 3、熟悉Oracle,MySql等常用的数据库系统,具备SQL语句性能调优。 4、熟悉Unix/Linux常用操作,能独立部署配置nginx,tomcat等常用的Web服务器 5、熟悉掌握常用的JAVA技术框架,如Spring,SpringMvc,MyBatis等框架;和htt...

大圣即大盗 8644

java专业技能_Java程序员需要具备哪些专业技能?

原标题:Java程序员需要具备哪些专业技能?想要成为合格的Java程序员或工程师到底需要具备哪些专业技能,在面试之前到底需要准备哪些东西呢?面试时面试官想了解你的什么专业技能,以下为大家整理的一些合格Java软件工程师所要具备的。 1、熟练的使用Java语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的JavaAPI,包括I/O(NIO)、Socket、JDBC、XML、集合框架、多线程(并发...

weixin_29009401的博客 1238

两年 Java 经验该具备什么水平才能拿下十多个 offer

ySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算**这些面试全部出自大厂面试真题和面试合集当中,小编已经为大家整理完毕(PDF版)

2401_84104809的博客 499

收藏帖丨2年Java开发需要到什么水平?

每个程序员都应该有自己的职业规划,清楚的了解自己在不同的阶段应该掌握什么技能。掌握得越多,能得到的评价,拿到的薪水势必也越高。有不少朋友比较关注,2年Java开发需要具有什么样的水平?下面...

传智播客的专栏 562

Java两年工作经验面试

Java两年工作经验面试题目和心得一、ArrayList和LinkedList的区别?二、ArrayList的底层扩容机制是如何实现的?三、spring的aop底层实现方式有哪些?四、HashMap的底层实现原理?4.1 HashMap的几个重要知识点4.2 JDK7与JDK8的HashMap区别4.3 HashMap的容量与扩容机制五、MySQL的事务隔离级别有哪些? 一、ArrayList和LinkedList的区别? ArrayList是基于动态数组的数据结构实现的,LinkedList是基于链表的

qq_42302684的博客 3271

硕士毕业从事了两年java开发,看看需要学那些知识

硕士毕业从事了两年java开发,分析一下心得,不足的请各位补充指正。

m0_64585232的博客 1004
上一篇: 100W点击 10w人获取,阿里Java高级面试题及答案 到底有多强
下一篇: 如何在面试中介绍自己的项目经验,拿到BATG等大厂 Offer
奇迹摘星w
博客等级 码龄6年 1844粉丝 189原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值