初级java开发常见的面试题,java开发工程师面试题

前言

在网络技术中基于浏览器的B/S结构无论在PC端还是手机端都充当着至关重要的角色。 PC端自不必说,手机中很多应用虽然是以APP的形式存在,但它采用的还是B/S结构。如今日头条、微信的朋友圈等,这些应用在内部封装了浏览器,后端仍然是 Web站点。

在大型网站和复杂系统的开发中,Java无疑具有很大的优势,而在lava的Web框架中 Sprig MVC 以其强大的功能和简单且灵活的用法受到越来越多开发者的青睐。

Spring MVC入门很简单,但是要想真正使用好却并非易事,而且现在也没有全面、深入地使用资料,以致在实际使用的过程中程序员经常会遇到各种各样的问题而不知道如何解决。对 Spring MVC 这样的开源项目来说。最好的学习方法当然是分析它的源代码,分析透源代码不仅可以让我们更灵活地使用 Spring MVC来开发高质量的产品,而且可以学习到其中的很多优秀的编程技巧设计理念

本次分享PDF文档

点击领取2024完整开源项目《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》

资料除了分析Spring MVC的源代码,还系统地介绍了各种网站架构的演变以及 Web开发中所涉及的协议和Tomcat的实现方法,现在很多程序员都想了解这方面的知识,但苦于缺乏通俗易懂的资料,而且这些也是程序员达到更高的层次所需要的知识

一面:70分钟

突击电话面试

正思考着项目功能模块,阿里面试官打来了电话,开始了阿里一面。

阿里面试官自我介绍,介绍了5分钟左右,部门的情况,主要的业务

提问开始

  • 会哪些操作系统
    Linux会一点
  • 说一下操作指令,怎么看cpu,看进程,看端口
  • 操作系统进程间通信
  • 追问了一个信号相关的问题,我不知道了。
  • io多路复用,说一说
  • 面向切面编程,说一说那些场景
  • 说说面向切面编程
  • 给一个场景,有很多方法,找出耗时长的方法
  • spring的@autowired的作用
  • mybatis和hibernate的区别
  • C,C++了解吗
    (不了解)
  • python用过吗
    (没有,我用过matlab(笑))
  • Java类加载器哪几种
  • Java垃圾回收器
    我先说了垃圾回收算法–垃圾收集器–比较CMS和G1。
  • 配置过java启动设置吗
    没有,我只用过-xms等指令改过JVM参数,和jinfo看参数
  • 说说-XMS,除了-XMS,你还用过哪些指令
    -XMX -XSS -XMN
  • 说说java保证线程间同步的方法
    Synchronize,reentrantlock,volatile,原子类。。。
  • 说说倒计时器和循环栅栏的区别
  • 说一说为什么要有JIT
  • 平时怎么学习的
  • mysql聚簇索引和非聚簇索引
  • 左外连接和内连接的区别
  • 数据库的读写分离的作用
  • hash和一致性hash的区别,为什么要用一致性hash
  • spring boot
  • 消息中间件了解吗,说说为什么要用消息中间件
  • 项目中的缓存不一致怎么解决的
  • 工作压力大能承受嘛

反问

面试官对我的努力以及学习态度非常认可。

面试官的认可对我而言是莫大的鼓励,希望自己能一路走下去,不管发生什么。

二面:50分钟(P9面)

早上面试官发来短信,约了晚上面试,让我准备一段最能体现我水平的代码。

纠结了一天,最后还是硬着头皮,准备展示自己的项目代码。

首先自我介绍

1 面试官用共享屏幕看了我的项目,项目太过简单。

感觉面试官一下没了兴趣。

2 之后面试官说我简历上写读过SSM框架源码,让我说一说SSM框架的源码

我愣了一下,我说简历上好像没有写吧,SSM框架源码我没读过。

3 问我读过哪些源码

我当时有点懵,第一反应,ha…ha…hashmap

面试官又问,除了hashmap你还读过哪些源码。

想了想,ConCurrentHashMap, ArrayBlockingQueue。。。

那就ConCurrentHashMap吧。你给我讲一讲。

理了下思路,准备开始讲了,面试官让我在IDE上把源码打开讲。

当时差点ConCurrentHashMap都没拼出来。(一紧张,以为是Cur开头的。。。)

之后就一直说Concurrenthashmap源码,面试官主要关注点在怎么是线程安全的。

插入怎么保证安全,读写间会不会影响,怎么保证安全。。。

因为之前项目和SSM框架的源码,我都没能很好的展示。所以concurrenthashmap就尽可能的多说,把自己好的一面展示给面试官。

说了大概40分钟吧,然后面试官说时间差不多了,先这样吧。

反问。

面试官让我多参加开源的项目。

面完一度觉得自己凉了,没有高水平的代码展示,也没读过spring的源码。我的朋友也觉得这次希望不大。之后问了一面的面试官面试结果,没想到过了。

三面:25分钟(P9交叉面)

面试官介绍

面试官介绍自己是中间件部门的,这轮是交叉面。

感觉面试官很和蔼,很有耐心。更多的是让我自己去讲述所学的知识。

自我介绍

项目介绍

说说自己会那些知识

我从头开始说,(集合类,JVM,JUC,Mysql,SSM。。。)

1 集合类用了那些设计模式

2 Juc

说说怎么理解线程安全

之后面试官一直在追问线程安全问题,问我JVM堆上会不会产生线程安全问题。(大概是这个意思)

我这方面确实不太了解。就说了创建对象时候的线程竞争问题。

后来面试官说了,他其实更想我能从底层去说,如果能从底层CPU开始说,那他会非常认可。

反问

面试官很真诚的给了一些学习建议。

他让我加强学习的广度和深度。

先加强广度,多学一些技术知识。(确实我目前的会的技术还很少)

因为学习精力有限,再挑一些方面去加强深度。(我也没能做到在一些方面深入学习)

HR面:20分钟(视频面)

没有自我介绍,直接开始问问题。

hr给我感觉还是比较亲切的。

大概问题:

1 非科班的你对比科班的学生,满分5分,给自己水平打几分(3分),怎样提高剩下的两分。

2 自己的强项和优势(自律,努力,对学习有热情)

3 在阿里每个人都很勤奋,这一点不算什么优势。(做事专注度高,精力旺盛)

4 最喜欢哪一类的人

5 家庭带来的一个影响(可以说好的,也可以是不好的)

6 遇到的心里落差最大的事情(挫败感最强的事情)

7 压力大能承受吗。

hr也很真诚,其实交流过程中,也能引发自己的一些思考。自己的优势,自己的性格,自己的抗压能力,到底是怎样的。

感受:

其实我投简历的时候,都不太敢投递阿里。因为在阿里一面前已经过了字节的三次面试,投阿里的简历一直没被捞,所以以为简历就挂了。

特别感谢一面的面试官捞了我,给了我机会,同时也认可我的努力和态度。对比我的面经和其他大佬的面经,自己真的是运气好。别人8成实力,我可能8成运气。所以对我而言,我要继续加倍努力,弥补自己技术上的不足,以及与科班大佬们基础上的差距。希望自己能继续保持学习的热情,继续努力走下去。

也祝愿各位同学,都能找到自己心动的offer。

最后

我还通过一些渠道整理了一些大厂真实面试主要有:蚂蚁金服、拼多多、阿里云、百度、唯品会、携程、丰巢科技、乐信、软通动力、OPPO、银盛支付、中国平安等初,中级,高级Java面试题集合,附带超详细答案,希望能帮助到大家。

新鲜出炉的蚂蚁金服面经,熬夜整理出来的答案,已有千人收藏

还有专门针对JVM、SPringBoot、SpringCloud、数据库、Linux、缓存、消息中间件、源码等相关面试题。

新鲜出炉的蚂蚁金服面经,熬夜整理出来的答案,已有千人收藏

初,中级,高级Java面试题集合,附带超详细答案,希望能帮助到大家。**

[外链图片转存中…(img-66fJRHR2-1709802400699)]

还有专门针对JVM、SPringBoot、SpringCloud、数据库、Linux、缓存、消息中间件、源码等相关面试题。

[外链图片转存中…(img-hrXc9UQa-1709802400701)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

  • 21
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值