拿着手里不值钱的本科文凭混了三年,终于在年末搭上了Alibaba的末班车,复盘四面,一把辛酸泪!
阿里面试主要及经常问到技术点:
数据结构,多线程,jvm,优化,消息框架,分布式,缓存等以及你使用过的框架且第一轮的基础很重要,通过会后录取可能性就相对高了!
这里整理了最近BAT最新面试题,2020船新版本!!需要的朋友添加微信:msbjy2019,备注:csdn。希望那些有需要朋友能在今年第一波招聘潮找到一个自己满意顺心的工作!
一面:
- 开始是自我介绍;
- HashMap的实现原理,什么是hash碰撞,怎样解决hash碰撞?
- ConcurrentHashMap的原理,与HashTable的区别?
- HashSet和TreeSet的区别以及底层实现原理
- HashMap中存key-value,value有重复但是都是Comparable类型可比较;6、怎样根据value排序此集合,介绍实现方法
- ReentrantLock和synchronized关键字有什么区别?
- synchronized 修饰static方法,具体锁的是什么?
- 工作当中cpu和内存异常排查方法;详细说明分析过程及定位解决方式
- 接着是讲项目:项目里的问题比较简单;
- 然后就是各种基础,jvm内存模型,nio,bio,aio,高并发,sychronized和volltail,HashMap,数据结构和扩容。
- 还有一些场景题目,大并发/海量数量的情况下,怎么设计系统。从里面拿出两点来问,一个是系统解耦,一个是分库分表。
- 最后一个是编码题,HashMap里key是自定义对象的情况,排序
二面:
- ClassLoader的原理,举出应用场景及工作实例,介绍类加载过程及工作中的应用
- jvm问的比较多,jvm的原理及优化;
- 线上发版如何做到分批发的?
- redis命令,数据结构,数据库内部锁机制,线上问题解决,sql优化等等;
- 现在使用的框架原理,比如使用了dubbo,会问dubbo的原理,还有h5怎么调用dubbo等;
- 手撕代码。牛客题霸上的原题,可以去看看:NC33 合并有序链表
三面:
- executor service实现的方法,可以设置的参数;
- 出了个算法提,找出链表中倒数第n个节点;
- 还问了thread和runable的区别;
- 聚簇索引是什么;
- redis问了一个实际问题的解决办法,如果redis一个value特别大,有什么解决方案;
- redis内存淘汰机制;
- mysql的默认隔离级别;
- 堆排序
- paxos协议
- 跨机房部署,遇到的问题及解决方案,全年的9999率
- MMM的DB架构,主从未完全同步,master挂了,未同步的内容会造成什么影响,怎么恢复
- Ng和tomcat什么区别?能否将两者角色互换。即:tomcat做反向代理,ng做服务容器。说明原因。
- DNS协议
- volatile实现原理
- NAT:公网ip和局域网ip转换
- 类加载委托机制,锁的应用,项目架构
四面:
- jit,nio,排序算法,hashmap,还有一些项目细节。
- 谈谈项目里主要负责了什么,负责的项目是怎样的架构,自己负责了什么等等;
- JVM类加载机制;JVM调优;
- JVM内存模型,栈空间都放什么,什么情况下栈内存会溢出等;
- JVM垃圾收集机制;
- jvm栅栏问题,threadlocal的使用;
- List求交集
- 解决项目运行时,CPU占用过高的问题
- 线程同步几种机制
- linux检索log,匹配某一请求最多的top10
总结
一线互联网公司都比较注重实际的项目中解决问题的能力,另外面试点主要围绕JVM、多线程相关、基础知识的底层原理、处理高并发的能力。这里也不扯什么面试技巧了,轻松发挥就好,祝大家金三银四季能有个高薪满意的工作!
如果你需要这份完整版的面试笔记,只需你多多支持我这篇文章。
多多支持,即可免费获取资料——三连之后(承诺:100%免费)添加小助理获取哦
整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下~
你的支持,我的动力;祝各位前程似锦,offer不断!!!