前段时间,经朋友介绍有幸面试了阿里 ,面试前是比较自信的一个状态,毕竟之前的技术是没什么问题的,在同年限里算是大神级别。但也不知道今年百度面试是个什么情况,三面下来被惨虐得很难堪,直接挂掉了。

阿里一面:
- 根据惯例 自我介绍和项目介绍
- 简述hash冲突是如何发生的,常见的处理方式有哪些,在java中发生hash冲突后如何取到冲突的多个value?
- 讲讲Java GC机制?
- 红黑树需要比较大小才能进行插入,是依据什么进行比较的?其他Hash冲突解决方式?
- JVM内存模型jmm 知道的全讲讲
- 说说Java线程池的原理?线程池有哪些?线程池工厂有哪些线程池类型,及其线程池参数是什么?
- BIO、NIO、AIO的区别和联系?
- hash和B+树的区别?分别应用于什么场景?哪个比较好?
- 索引是什么概念有什么作用?
- Java web过滤器的生命周期?
- 讲讲TCP协议的三次握手和四次挥手过程?
- mysql数据库默认存储引擎,有什么优点
- MySQL的事务隔离级别,分别解决什么问题。
- 说说事务特性(ACID)?
- 高并发情况下生成唯一订单号解决方案
- 有10w个数 如何发挥cpu性能 快速求和 用java实现
- 死锁发生的原因有哪些?
- Tomcat类加载机制/ J2EE应用中的class loader的层次结构?
- 索引扫描是不是一定比全表扫描快?为什么?
- 在百度的统一日志系统下,如果做到对于每一次请求,设置单独的关键字?这样就可以通过统一日志快速搜索上下文;
- 聊聊spring的IOC和AOP,分别用到了什么技术;在实际使用中,会如何来使用?
- 聊聊nosql,对哪些熟悉?例如mongodb、memcache、redis。
- 聊聊java的juc框架,熟悉其中哪些类,都在什么时候使用到了,怎么使用的?
- 谈谈jvm的调优策略,在工作中有相关的处理经验的话请讲一下。
阿里二面:
- 介绍自己做的项目,其中的技术点、难点。关于项目的技术点,拓展聊了聊;
- TCP/IP 握手过程,重传相关知识;
- TCP 与 UDP 区别,TCP 可靠性保证,拥塞控制与流量控制;
- 各种排序算法的方式、时间复杂度;
- 哈希冲突解决方案,各个优缺点;
- 大量文件里进行去重;
- 进程和线程区别;
- 进程通信方式;
- 用户态和内核态区别;
- Java 双亲委派机制,打破双亲委派;
- volatile 和 synchronized 区别;
- 数据库索引的选取;
- 设计模式,主要问单例模式、观察者模式、工厂模式及抽象工厂模式。
阿里三面:
- 介绍自己做的项目,其中的技术点,开发历程;开发过程中遇到的难点,以及排查问题、解决的方式;
- 常用的数据结构,Arraylist 和 Linkedlist 的遍历效率;
- 平时技术的学习方式,在看什么书籍,接下来的学习方向。
最后
面试过程中我也学到了很多知识。感觉一面比较基础,二面对我来说比较有难度,三面问了一些没有准备到的地方。自己对后端这方面了解不多,面试过程中感觉自己回答的很一般也是在三面挂掉了,呜呜呜~ 只能接受事实,等到下半年再战。最后针对上面的高频常问面试题我还总结出了各大互联网公司 java 程序员面试涉及到的绝大部分面试题及答案做成了文档和学习笔记


本文记录了一位开发者在阿里后端面试的全过程,包括阿里面试的一、二、三面的问题,涉及Java GC机制、线程池、TCP/IP协议、数据结构、JVM调优、Spring框架、NoSQL数据库等多个技术点。尽管最终未能通过,但作者从面试中学到了不少知识,并分享了面试高频题目和答案。
2万+





