作者:牛客258876889号
链接:https://www.nowcoder.com/discuss/424600?type=post&order=time&pos=&page=1&channel=&source_id=1_post
来源:牛客网
首先我编程自学半年,本科专业电子科学与技术,根本不挨着,基本都是刷面经然后把这个知识点展开学的。完完全全的菜鸡一个
开始春招投暑期实习简历到现在头一次面试交给了美团,但感觉.....凉了,估计等不到二面通知了,总时长1小时15分钟。在这里记录一下自己本次面试的题目,mark一下很多疏漏的点
照例首先自我介绍,然后开始进入面试了。由于项目少而且和编程不相关,且专业研究方向也不相关就没问
1.TCP和UDP的区别,然后问为什么UDP快(这个没答上.....)
2.TCP三次握手和四次握手,原因balabala
3.java集合类用的有哪些,说一下各自特点
4.hashmap的底层数据结构(数组+链表)
5.hashmap的扩容,put,rehash过程
6.这个链表会一直扩大吗(不会,8以后会变成红黑树(我怀疑此刻我已经开始偏离正确答案)),为什么?红黑树好在哪?之后就是红黑树特点,然后插入节点变色,左旋右旋
7.并发的话你知道哪些锁(synchronized,volatile,reentrantlock),还有呢(还有???emmmmm CAS,偏向锁,读写锁这样)
8.那你说下synchronized锁升级过程?每个锁都适用于什么场合?
9.synchronized和lock都是用于什么场合?(好吧,依旧没答上,光记区别了.....我说读多和写多....然后问原因...)
10.volatile的原理是什么,实现了什么,怎么实现的?
11.ReentrantWriteReadLock的原理是什么,实现了什么样的锁?(公平锁什么样,非公平的什么样,读锁和写锁什么样的竞争策略)
12.线程池的参数有哪些?keepAliveTime有什么用,销毁是什么销毁的(一片空白,一下子想不出了.....内心开始凉)
13.线程池的工作原理说一下
14.GC收集算法有哪些,特点适用场景
15.说下CMS工作原理,流程(标记-并发标记-重新标记-标记清除),并发标记的是什么(垃圾对象),那第一步(可达对象,Root可以碰触到的),那第一步不就都标记了有什么意义(内心凉一半)
16.事务ACID
17.设计模式会吗(单例,工厂,代理),那你说说工厂,原理、优点、实现代表(优点真的说不好了....凉60%)
18.类加载的过程是什么样的
19.双亲委派好处是什么(防止重复加载+保护核心API不被篡改,原因balabala),类加载器是什么,你知道的有什么(答不上来了....凉80%)
20.写下快排吧(抽自己一万个巴掌,我好久不写代码了,只记得思想了,而且自己也没手写过)......我把原理说了.....(凉100%)
面试官最后说:那你都是怎么学的java(凉10000000%),自....自学做做算法题,写写demo这样。看你专业有通信原理啊,数字电路这些,和编程可能有些逻辑性相通emmmm(就是没看出我有逻辑吧....)计算机网络啥的你得再看看(是啊...我自己也知道....)。反正终于有了一次面试了,其余的都没有消息,也没有面试或笔试的消息.....希望......但愿吧