现在面试这么难,背下题就能过的时代一去不复返了
微信搜索BGM7756,免费获取本文提及资料!
最近一个朋友跟我说,现在面试太难了,再也不是以前那种随便背几个面试题然后就能拿到offer的时候了。最近朋友准备换工作面试了阿里,然后和我交流了下他遇到的一些面试题,然后我整理了一下,然后就分享给有需要的朋友们顺便也查漏补缺一下,并且还在整理了一个后端学习路线笔记在文末获取!
阿里技术一面
开始是自我介绍;
HashMap的实现原理,什么是hash碰撞,怎样解决hash碰撞?
ConcurrentHashMap的原理,与HashTable的区别?
HashSet和TreeSet的区别以及底层实现原理
HashMap中存key-value,value有重复但是都是Comparable类型可比较;怎样根据value排序此集合,介绍实现方法
ReentrantLock和synchronized关键字有什么区别?
synchronized 修饰static方法,具体说的是什么?
工作当中cpu和内存异常排查方法;详细说明分析过程及定位解决方式
阿里技术二面
JVM类加载机制;
JVM内存模型,栈空间都放什么,什么情况下栈内存会溢出等;
JVM垃圾收集机制;
一个jvm的原理及优化;
SQL的优化;
SpringIOC及AOP原理(问问有没有源码阅读的经验)
现在使用的框架原理,比如使用了dubbo,会问dubbo的原理,还有h5怎么调用dubbo等;
接着是讲项目,项目里的问题比较简单;
然后就是各种基础,jvm内存模型,nio,bio,aio,高并发,sychronized和volltail,HashMap,数据结构和扩容;
还有一些场景题目,大并发/海量数量的情况下,怎么设计系统。从里面拿出两点来问,一个是系统解耦,一个是分库分表;
最后一个是编码题,HashMap里key是自定义对象的情况,排序
一面二面jvm问的比较多,线上发版如何做到分批发的,redis命令,数据结构,数据库内部锁机制,线上问题解决,sql优化等等;
阿里技术三面
executor service实现的方法,可以设置的参数;
出了个算法题,找出链表中倒数第n个节点;
还问了thread和runable的区别;
聚簇索引是什么;
redis问了一个实际问题的解决办法,如果redis一个value特别大,有什么解决方案;
redis内存淘汰机制;
mysql的默认隔离级别;
paxos协议
跨机房部署,遇到的问题及解决方案,全年的9999率
MMM的DB架构,主从未完全同步,master挂了,未同步的内容会造成什么影响,怎么恢复
nginx和tomcat什么区别?能否将两者角色互换。即:tomcat做反向代理,ng做服务容器。说明原因。
阿里技术层面:
谈谈项目里主要负责了什么,负责的项目是怎样的架构,自己负责了什么等等;,比较关心金融方面的知识是否了解,是否有过金融项目开发的经验;
手画架构图,主要对中间件提问
总结
问的很深,太难了,再也不是以前那种随便背几个面试题就能拿到offer的时候了,不过也不要放弃,招聘需求变高的同时自己也要不断提升学习,每次看到很多感慨说面试太难了,面试造火箭,工作拧螺丝。没错,就是这样的,但你不得不提升,要么离开这行,要么继续前进。一个行业呆久了,想跳出去真心需要很大的勇气,每个人后面背负的东西很多!
在这为那些想进阶或者没有方向的朋友提供一份Java后端面试核心知识点,也可以说是一个提升的方向,有需要的朋友加V:BGM7756 获取免费资料吧!
如果需要获取到这个【Java面试知识点整理】文档的话加V:BGM7756 获取免费资料吧!
评论