
转载声明:文章来源https://blog.csdn.net/Darker2017/article/details/82528852
一面:
介绍你自己
1.上来手撕算法 先来实现一个反转链表
2.java集合ArrayList和LinkedList的区别 为什么ArrayList查询效率快
3.常见的排序知道哪些(说知道快排,冒泡,选择,插入) 继续手撕快排(写了也讲了一遍)
4.多线程安全问题知道吗 同步的方法 使用syschronized和lock的区别 为什么要有重入锁?
5.java虚拟机调优知道哪些 新生代和s0区默认分配比例是多少(8:1)
6.spring IOC解释一下(这个面试官全程没怎么说话 我怕要凉就一直自己在说, 说了IOC实现原理反射+xml+工厂 然后面试官就换问题了)
7.什么是Spring的AOP (面向切面编程,我自己说了用代理模式实现的)
8.那画一下代理模式的UML图(说自己不会画,直接强行解释,从静态代理到动态,各种区别,底层实现都说了,动态代理还没说完,面试官就打断我说我这里结束了,去等着接下来的吧)
二面:
二面基本上我的面试官全程看我简历问我。
介绍一下自己(说了自己算法一般,可能是这样所以二面没遇到和室友一样还手撕代码)
1.类加载过程(说了好久,还举例一个类里的变量是个static,它是在哪个过程进行加载的)
2.双亲委派是什么、bootstrap加载器加载的是什么,为什么要有双亲委派(这个是真不知道,不是类优先级那个原因,中间一些问题是根据你的回答来问的,越来越深)
3.syschronized关键字底层原理知道吗(我说在书里看过好像是管程实现,一个线程有一个管程,线程持有管程就上锁,管程底层是本地方法和操作系统有关不会,然后就没问这个了)
4.数据库InnoDB 事务底层知道怎么实现的吗(没太明白强行说了自己控制事务用的框架)
5.解释事务的隔离级别 说了mysql默认隔离级别
6.知道voliate关键字吗和syschronized两个有什么区别(解释控制多线程可见性,说了主内存和工作内存)问我什么是工作的内存这个也不知道说啥 就说书上看的 ,又问知道voliate底层如何实现的吗(没了解过,说可能也是加锁吧,面试官也没啥反应-。-疯狂问底层实现)
7.java的Runtime内存有什么知道吗,问的是运行时数据区分的五大块,然后又问了栈里面存的是什么,多个线程变量是怎么存的(线程私有)
8.问Maven的生命周期知道吗(不知道,只是会用一下)
【二面过程一些对话和回答(答案应该不对):主修java是吧,那知道类的加载机制吗,知道,我知道类的加载的过程和他的双亲委派模型。那你说一下类的加载过程吧(吧啦啦啦 中间我大概把五个过程都是干什么说了一下,可能勾起了他的兴趣)问如果一个类里面有一个栈他是什么时候进行加载的(我当时也有点蒙,就问了这个栈是成员变量还是静态变量,最后我默认成员变量跟他解释)准备过程中分配变量内存,new时候会创建对象,但是准备阶段一开始会把变量值置为null在初始化的时候才会给定new的值,我感觉没解释清楚,因为解析过程会把引用变量换成直接引用,而且解析可以在初始化之后进行,那时候才会对变量赋值(什么时候记加载最后也没说具体的,就是说new的时候会创建加载,然后转到赋值去了)然后就是双亲委派解释一下,启动加载器加载的是什么类文件(三个加载器加载什么巴拉巴拉),然后又问问什么要有双亲委派这种机制支支吾吾没说清说不知道。】
(连续两个不会然后跟我说我这边今天结束了,本来以为又是一个凉凉,但是旁边的小姐姐说在旁边等待,结果最后又通知面了hr。)
hr面:
介绍一下自己,主要是说说自己生活近况,项目觉得有什么收获,有什么生活经历,能不能加班,以后期望是什么,还有没有什么问题。
(最后告诉等待通知到9月中下旬还会陆续通知结果,感觉面试中间很多答的不是很好,最后好多人也都面了hr,只能等待结果,不被淘汰出局了)
附笔试:
笔试是去哈工大一点现场宣讲完,直接有现场的笔试,还去晚了,不过小姐姐还是给了机会,非常感谢。
选择是一些基础的笔试题(涉及网络、数据结构、操作系统,其实还是不怎么会的)
编程题3道(一个我觉得考察排序,一道算一个数的幂次尽可能计算次数少,第三道一个图找路径)编程其实不是很会,勉强写,第三题没研究过是不可能会的了
方向题(也是编程,一个数n,求出所有的因子,因子互相相加得不到1-n中的数有几个)
同行室友提供自己面试问题:
一面
1.手撕代码快排和两个栈实现队队列
2.java集合 hasmap原理
3.java 虚拟机 垃圾回收算法 分代算法解释和垃圾回收器都有哪些
4.虚拟机如何调优
5.数据库调优 对数据库分表分库 sql语句优化
6.hibernate和Myabtis的区别 beanFactory和FactoryBean的区别
二面:
1.面向对象和面向过程的区别 解释
2.继续手撕算法 判断一个二叉树是否有环
3.会什么设计模式 手写单例模式双重校验
4.数据结构问hashmap 在多线程下为什么不安全 因为会出现死锁 rehash会死循环 concurrenthashmap原理解释
5.近期在做什么东西 如何学习 如果让你写一个评论的模块你会怎么写
6.TCP三次握手四次挥手 http和https区别 https过程 问如果我要访问某个ip这个过程描述一下
7.liunx操作系统常用命令 管道
8.springMVC mvc模式解释一下
杨微粒
02月02日
这套课质量挺值得价格的
雾岛残月
09月06日
懂了懂了
媲美
12月23日
基础送分题目不能丢