• Java面试经验,Java实习生应届生面试笔试题整理


    我觉得也该写一篇文章来总结下自己这十天的找工作经历了,6月13号进京到今天正好是10天,除去端午三天假期,找工作的时间也就是一周时间。

    分享下我这十多天来找工作的过程中遇到的问题,顺便记录总结下面试经验吧

    BOSS直聘上联系了将近300个BOSS,拉勾、实习僧也有很多,实习僧大多都不回或者是很晚才回的。

    一周的时间面试了9家Java后台开发实习岗位,拿到了8个offer。

    本人大三,软件工程专业,没有过实习经验,大学一直来自学Java,实习岗投的大多是Java后台实习的岗。编程语言熟悉情况以Java为主,算法基础薄弱,Java基础扎实。可能因为自身学历关系吧,很多大公司筛选简历直接就筛选掉,也没有面试的机会。

    视频面试的公司:

    公司1

    在学校视频面试的,共两面。

    一面:

    视频一面简单聊了聊Java,问了些JavaSE的东西,答的还行,然后说等二面。

    二面:
    另一个技术的和我聊,聊了快1个小时

    String、StringBuffer、StringBuilder的区别,这个问题我跟他讲了底层的实现原理,以及各个String类的区别,和类的方法的底层代码实现

    字符串拼接产生几个对象,也就是+和appen的区别

    List的实现原理,LinkedList的底层实现原理

    HashMap的底层实现原理

    MySql问了存储引擎,内外连接(join)的用法

    Linux的常用的命令

    spring问了IOC的实现方式以及自己对IOC的理解

    mybatis问了动态sql的实现方式,以及mybatis和hibernate的区别

    当天面完,技术的就和我谈工资了,说的是实习生工资是2800—3200,问我多会可以入职,我给说的是20号之后

    因为这个公司是月初面的,所以很多问题也记得不是很清,大概记得就是这些。

    第二天直接发了入职邀请,有个7天的试用期,试用期过了直接发正式的offer

    公司2

    月初电话面试的,小型创业公司,公司CEO直接问的,技术的问的都没什么印象,问的更多的是大学做了哪些事,学习能力这方面的问题

    稀里糊涂就给发offer了,实习工资是4k-6k,给说的20是入职。所以这个公司也就没有考虑过了,就是面一面。

    北京现场面试:

    公司3

    先说下对公司的感受,创业公司,公司共21人,12个做开发的,8个做后台的,面过所有的公司问的技术最强的,技术的问了整整一个小时,涉及的面也很广,也有深度,感觉整个团队的氛围也挺好不错的,两个技术面试官问,一个专门问算法+数据结构,另一个问Java

    面试问题

    remove底层实现

    数据库的缓存机制

    完全二叉树

    手写快排算法

    char和varchar的区别

    String的append

    接口的好处

    锁在什么方面会起作用

    ajax的回调

    ajax如何实现跨域

    list的size长度

    Java的回调

    对aop的理解

    map是有序还是无序的

    什么时候添加索引

    mysql的int类型在Java中的长度是多少

    aop和di的理解

    fail-fast机制

    int和integer的区别

    集合HashMap的实现原理

    linux登录数mysql据库的命令

    redis的数据类型

    聚簇索引

    公司4

    公司去了后感觉是做外包的,去了做了一份笔试题。

    1.判断有多少个素数,并输出

    2.创建一个二叉树,写出遍历的方法

    3.如何实现观察者模式

    4.有一张employee表,字段(id、username、age、managerid、pasterid)

    sql多表查询,查询主管、人员

    查询出所有的员工

    分组显示不同部门的员工

    CRM系统是做什么的

    mysql的存储过程

    权限管理

    list怎么实现分页

    collection的比较器的原理

    Java基础基本没怎么问,问的大多都是项目和业务相关的问题

    公司5

    公司环境氛围不错,技术就不知道了

    面试的时候没有问技术的问题,看完简历HR问了我职业规划,问了我可以实习的时间,多会可以实习

    技术的来面,头发很少,就一个人,看起来很厉害

    没有问任何关于技术的东西,问了我的职业规划,告诉我公司在做的业务,给我说实习生做的工作主要是写一些H5的界面,去写前端的,工作可能会很枯燥,问我在工作中枯燥我要怎么去做

    完了后HR来和我谈工资,一天150,HR给我说了一二面对我的评价,然后就开始给我讲公司的盈利情况、公司的环境、公司做的产品、转正工资什么的,反正都是她在讲,讲了一堆

    说下自我感觉:公司薪资不错,但是没有问我关于技术的问题,所以对公司印象就很一般了

    公司6

    去了先做一套笔试题

    1.全英文,没做

    2.地址栏输入www.jd.com后会发生什么

    3.jvm内存的组成及用法,new的对象放到哪个区

    4.1~100点数字,长度<100,如何找出缺失了哪几个数字

    做了2、3、4

    做完后面试官看了说,第一题应该也会做出来的,就给我翻译了下第一题,其实也就是一个简单的排序,给说了下用冒泡和快排都可以解决的,让我手写快排,简单写了下核心的快排比较过程

    接下来开始聊,由于下午比较困,也没有好好的准备面试,所以回答过的问题可能有的已经忘记了,先写点能记起来的

    有没有看过源码,我说框架的源码没看过,Java集合相关的源码有看过,让我讲讲集合

    List有哪些list,底层怎么实现的

    HashMap的实现原理,hash表怎么解决hash冲突的

    JDK1.8中HashMap的新特性,有哪些改变,以及在1.8中HashMap的实现原理

    HashMap与ConcurrentHashMap的区别(这个问题本来要往底层去答的,但是当时懵逼了,忘记了有的东西,没好好说,就说了下加锁和没加锁的区别,之前ConcurrentHashMap的源码也看过也了解了,但是面试答的时候忘记了)

    ConcurrentHashMap的扩容机制

    说一说JUC包下的类

    Mysql问了存储引擎,以及mysql的存储用到了哪种数据结构,简单的说一说

    说一说对关系型数据库和非关系型数据库的理解

    redis属于哪种非关系型数据库,mongodb属于哪种,说一说区别

    说一说redis,redis的数据类型,redis的持久化的实现方式

    redis的底层存储结构

    说一说spring的ioc和aop,问我有没有看过spring的源码

    springmvc和mybatis的区别

    mybatis中$和#哪个用的最多,为什么要用,底层是怎么实现的

    说一说对集群的理解,集群的概念

    对消息队列的理解

    二叉树是什么,和红黑树有什么区别,红黑树的实现原理

    还问了统计学的问题,怎么统计亦庄有多少个小卖部

    Kotlin和Java的区别,为什么会用Kotlin

    公司7

    去了先做一套笔试题:

    常见异常

    http协议,请求方式

    重定向、请求转发的区别,cookie和session的区别

    js和jquery的区别,jquery选择器

    ajax的使用方式

    线程和进程的关系,创建线程的方式,wait、notify和notifyall为什么必须在同步方法或同步块中被调用

    mybatis如何防止sql注入

    mysql的拦截器应用场景

    redis的数据类型,使用场景,是不是线程安全

    shop表,选出最高记录

    打印1-1000点质数

    笔试题不是很难,不到一个小时做完,然后就等面试官,技术的就一个人来和我聊

    Java8种基本数据类型

    String类

    集合相关的问题

    groupby和哪些关键字一起用

    说一说ioc和aop

    alert和ajax请求一起的话,ajax是怎么处理的

    ajax的回调函数怎么写

    mybatis常用的动态sql

    写过支付的接口吗

    技术大概记起来的就这些,反正问的基本都答上来了,整个过程也就不到半个小时,感觉公司更加注重的是业务理解和经验,对源码要求不是很高

    然后项目经理来和我谈薪资,说是有转正资格,拿了毕业证给转正,转正是没问题的,说让HR给我反馈。

    公司8

    联合索引

    访问www.jd.com服务器会发生什么

    集合arraylist和linkedarraylist

    说一说Hashmap

    平时都看了哪些书

    手写链表

    Servlet的生命周期

    说一说SpringMVC

    SpringMVC和struts2的区别

    hibernate和mybatis的区别

    锁相关的 sychnorized和volite

    实现线程的方式

    runnable和thread实现线程有什么区别

    调用两次start会发生什么

    联合索引组合进行查找

    线程的状态

    公司9

    常见的排序有哪些,熟悉哪个 手撕排序

    数据库怎么去做优化

    mysql的存储引擎

    平衡二叉树

    二叉树左中右序怎么遍历

    Hashmap

    手写单向链表

    springmvc的实现

    int和integer的区别

    Servlet是什么

    跨域是什么

    bootstrap是什么

    用户下订单,怎么区分是不同的用户

    说一说jvm

    手写栈、队列

    手写单例模式 设计模式

    怎么去加锁,有几种方式

    数据库分组查询

    hibernate和mybatis的缓存

    springmvc和Struts的区别

    hibernate和mybatis的区别

    aop是什么,说说理解

    链表反转

    说一说ACID

    原子性是什么

    hashmap的get原理

    说一说volatile

    volatile什么情况下保证原子性

    面经分享给大家,祝大家在找实习的时候可以拿到满意的offer~

  • 相关阅读:
    React源码分析3-render阶段(穿插scheduler和reconciler)
    黑客可利用 Windows 容器隔离框架绕过端点安全系统
    Spark数据倾斜_产生原因及定位处理办法_生产环境
    汉字风格迁移---结合本地和全局特征学习的中文字体迁移
    4.【Linux虚拟机】创建自己的docker image并提供后端服务
    微信小程序中识别html标签的方法
    微信小程序连接阿里云快速入门【物联网】
    一个会自动排空的扫雷游戏,不来看看吗?
    MyBatis_MyBatis之查询返回对象集合
    前端基于Verdaccio搭建私有npm仓库,上传npm插件包,及下载使用自己的npm插件包
  • 原文地址:https://blog.csdn.net/m0_67391521/article/details/126405959