家人们,这回应该真是凉了。
总体情况:惨不忍睹,基本上灵活一点的问题全都答不上来,八股对我来说也都考的比较细和偏门。
收获:抓到很多自己疏漏的地方。
流程:自我介绍 ==> 八股细问 ==> 项目问一些 ==> 开放题(直接让我设计改进一个业务订单表,一下宕机了,那些和实际业务相结合的问题我都不太会回答。。。)
听完自我介绍:我看你没实习过啊?答:我们实验室不允许实习。面试官一笑:你老板挺狠啊。我:苦笑一下,我导师是有点严厉在的。
简单整理一下问到的八股:
1.讲一下线程有哪些状态并解释其含义?
初始,运行,阻塞,等待,超时等待,终止。(解释不知道自己解释得清不清楚)
2.超时等待的线程如何唤醒?(并发类什么ReetrantLock,ThreadLocal,ThreadPoolExecutor那些源码真看的挺多,但这个基础点真给忘了)
3.一个类有两个字段,一个short,一个boolean,那么这个类建立一个对象,需要占多大的内存空间?(遗漏的java基础,一下忘记每种字段空间多大了)
4.503与504状态码表示什么含义?(闹麻了,只记了4XX,5XX的宽泛的含义,结果上来就问小的,是我准备这些不足,吃了专业没学过计网的亏。。。后面还是好好准备,现场我记得说的是服务器超时还是宕机)
5.HTTPS与HTTP有什么区别?(闹麻了,没学过计网,这题还好看过,回答得比较笼统)
6.看你项目里用过Netty,那Netty里面NIO的非阻塞是怎么实现的?
(我去,我也没写我深入研究过Netty啊,只能把记得得那些基本概念说一说,什么面向缓冲啊,构建channel啊,以及传统的BIO怎么阻塞的讲了讲)
7.Netty的那个NioEventLoop是怎么运行的啊?
(啊?这是问Netty的底层源码了?还好看过一点点,扯了点本质是Executor,内部还有一个Executor执行,本质就是线程啥的,然后就是扯了下NioEventLoopGroup本质是个线程池啊巴拉巴拉。。。闹麻了。。。面到这其实已经欲哭无泪了,已经被打破防)
8.你这个商城项目什么架构?
(太宽了,只能东拉西扯几个模块啊,每个模块里有点啥,这些确实需要多多准备,尤其是没啥亮点的项目,再说不出点东西确实比较尴尬,啊哈哈。。。)
9.你的这个订单啊,商品表怎么设计的啊?我现在这有个订单表,因为业务量太大了,他扛不住,怎么优化呢?
(大脑宕机。。。讲了点什么小猪话已经不记得了,优化就讲了点什么分库分表,垂直分表,水平分表啊之类的,一开始还没理解面试官的问题,以为是什么超卖啊之类的问题,结果面试官说就是数据量太大了,一个表太慢。。。今天面试完我才发现,我准备的都是一些组件或者说软件的基本原理上的问题,但是一旦切入到真实的业务场景,就完全不知道该如何回答了,大家一定得好好准备业务知识或者说,多看点场景题的解析。)
最后,反问一下技术栈啥的,就结束了,应该在25-28分钟左右时间。
总结一下,今天的面试官好像还挺忙的,他一直没怎么注意电脑屏幕,估计还在一边干活,真是辛苦他了,一边干活,一边陪我在这坐牢,还要听我讲他蚌埠住的小猪话,我回答不出来还要不停地换问题,真是辛苦他了。。。他走之前还礼貌的说了一句,后面结果等HR通知吧,这不会是什么黑话吧。。。
后面需要把java基础好好准备,最重要的是,一些基础的计网八股要看要会(我以为我不写就不会问,但看来不是这样),还有就是一些简历里写的熟悉领域的细节还是尽可能多看多会,再也不敢说自己看了点源码就是熟悉了。。。