阿里、腾讯、美团、oppo实习面经(求招行网易笔试过能面试)
阿里3.12面试经验
1、jvm内存模型,什么时候出发fullGC2、java中的并发有哪些,用在什么场景下
3、项目登录部分需要考虑什么问题?
4、项目业务逻辑?
5、数据机构,队列,用在什么地方,栈,用在什么地方?
6、进程之间的通信方式,线程之间的通信方式?进程的概念。
7、计算机网络:比如登录这个东西,从用户开始到服务器,在计算机网络中的整个流程是怎么样的?
8、线程池,什么时候应用线程池?线程池满了怎么办?什么时候出现满的情况。
9、数据库连接池,跟线程池是否一样?
10、平时程序遇到bug怎么办?用什么方法解决?
11、叙述登录系统的业务逻辑,会出现哪些问题,哪些异常,要怎么去考虑?
12、jvm加载类过程,(应该是问那些常量存到哪些地方)
13、操作系统、数据库、数据结构、计算机网络基础。
3.28腾讯面试
1、JVM类加载,java是编译型还是解释型;2、设计模式都有哪些?项目里面用到了哪些设计模式;不要谈框架的,谈谈自己用的。
3、spring框架,IOC AOP简单介绍一下;
4、线程和进程的区别
5、什么是死锁,死锁形成的四个条件
6、数据库索引具体介绍一下,B+树,Hash索引,hash查找的时间复杂度;二叉搜索树时间复杂度;
7、项目:设计这几个表实体都有什么?比如讲一下推模式和拉模式;
8、二叉树的高度咋求?
9、数据结构问了一点
10、介绍项目
11、数据库ACID;并发带来的问题;数据库的隔离级别;
12、数据库两种索引有什么区别?
13、在北京工作行不行,性格优点有什么?
14、error和Exception的区别。
3.30 OPPO面试
1、string bulider,string,string buffer的区别?2、重写和重载的区别?
3、抽象类和接口的区别?
4、jvm介绍一下,哪些地方私有?
5、垃圾回收算法哪些种?
6、除了前缀树还有哪些方法?
7、论文,项目聊了很多;
4.03HR面
前几天offer
美团实习
3.31一面:一小时46分钟
代码题:
1、数据库2、二分查找
3、场景题:2g,7g砝码各一个,140g盐,如何三次操作分成50g,90g;
面试:
1、自我介绍,说项目亮点,怎么异步操作,点赞同时点赞怎么实现(并发,同时登陆等问题),项目中考虑了哪些异常处理,怎么实现的;2、计算机网络:TCP和Http关系,http和https的区别,为什么安全,http长连接短连接,host头信息;http两种方法的区别,http字段。Tcp三次握手四次挥手,怎么验证,安全的原因;Web页面请求过程;常用的Http状态码;常用端口号;
3、线程和进程的区别,他们都如何进行通信;
4、多线程:schornized关键字和volatile关键字区别;schornized关键字底层实现,volatile关键字底层实现;和ReentrantLock的区别;AQS解释一下;schornized锁升级,怎么记录状态;监控模式;CAS解释一下;乐观锁悲观锁;线程池;ThreadLocal;并发带来问题:死锁和线程安全;什么是死锁,死锁的四个条件;happens-before原则;
5、数据库:特性;隔离级别;数据库锁粒度,解释;共享锁排它锁;数据库你知道哪些关键字说一下;left join;Statement和PrepareStatement;B+树;
6、生产者消费者模式解释一下,消息队列;
7、java基础:常用容器哪些;hashmap各种,concurrenthashmap;final关键字;异常的分类(编译时异常和运行时异常);
8、java虚拟机:分区;垃圾收集算法;怎么确定被收集;
9、linux命令;
4.2二面:一小时左右
算法题:
1、剑指offer查找中位数(让我写swift和up,我说写一个堆排序行不行,面试官说可以)
2、之字形打印二叉树
面试:
1、简单介绍一下项目,spring+mybatis搭建的我说了不了解底层没多问;
2、除了用java实现了哪些做过的东西,我说两个小游戏;还写过加密算法的实现;
3、AQS具体底层实现;ReentrantLock怎么用AQS实现的(这里有看过美团的博客,但是面试的时候我给忘了),公平锁非公平锁解释一下,底层怎么实现。
4、类加载过程,分类,类加载机制(双亲),举例说tomact服务器里面的应用,比如说两个类都调用怎么区分是两个类。
5、sleep()和wait()区别;各个方面介绍一下
6、线程池了解过没,用过没介绍一下;有四种线程池,说一下常用的(fix)每个参数干嘛,运行过程,拒绝策略各种的;
7、linux常用命令了解么,说几个;
8、数据库范式,索引,建立索引原则。隔离级别,怎么实现隔离级别。
9、Redis项目中用了,稍微说一说;
10、java基础问了一下,忘了问啥;
11、CMS收集器,压缩,还有参数;
4.7 三面 1小时26分钟
基本情况了解:
开始是基本情况,类似HR会问的问题;(三面不是HR面)技术基础:
1、操作系统:进程和线程的区别,进程通信方式,举例说一说进程通信的例子。
操作系统命令;那比如LS,你认为都会有什么在文件的结构里面,你来设计要怎么设计,目录和文件是放在一起的不?
2、计算机网络:
七层网络模型;(给我挖坑,问我TCP/IP是哪层的,我立马说运输层,后来一想不对,面试官说的是IP不是UDP)
输入网址加载过程,DNS怎么解析;
如果DNS里面没有端口怎么去找。
TCP三次握手,四次挥手,为什么;
如果服务端断了,怎么检测连接状态;
怎么查看主机端口状态;
加密:对称加密,非对称加密,哪个快,区别,实现,数字交换加密;巴拉巴拉说了一遍~
3、数据库:
三个范式,然后举例说明三个范式;
什么决定树的查询速度,为什么用B树不是B+树;
树的索引,有什么特点,为什么用B+树索引;Map复杂度是多少;为啥不用Hash;
4、排序算法:快排特点;什么是稳定性;堆排序时间复杂度;
堆排序稳定性;
5、栈数据结构,啥时候用,生活中的例子举一个栈的类似;
6、堆介绍一下,和栈有什么区别,有什么应用;
7、JVM:都有什么用了栈,StackError啥造成的;(憋了半天终于说了递归,估计把面试官憋疯了,对不起面试官,俺越想不出来越紧张)
8、场景设计题:
黑名单端口号和一堆日志做匹配,你怎么做;(前缀树,我还想hash一下,面试官给我讲了一下没必要)解释前缀树实现,复杂度等等;
进阶:黑名单很多,想和一大量日志文件做匹配,他说这种情况下可以hash;
问我还有没有别的方法,说了bloom filter,他说还有没有别的思路,后来提示,问我二分查找的应用条件是什么,我说有序,然后他说可以先排序再用二分查找,又问我复杂度。(这里脑残,我说nlog*log,他说前后是需要每次都排序吗?然后应该是nlog+log)
反问
1、您觉得我的不足在哪儿?
2、介绍一下大数据处理的一种情况?
3、卑微的问了问能否过,他说大概是1周到2周给答案,目前等答案中;
嘤嘤,(╥╯^╰╥),菜是原罪。
攒一波人品,顺便求招行有个面试机会,今天看到好多收到面试的了希望我也能收到吧!想求一个秋招直通车!
#后端实习面经##阿里巴巴##美团##OPPO##腾讯##实习##Java工程师##面经#