0730京东2021提前批面试总结(java)

前奏

早在六月中旬的时候,听同学说就把简历投了出去,可是迟迟没有面试,知道七月20号左右,周围人开始陆陆续续的收到面试通知,我的面试通知是提前一周告诉我的,说下周五将进行电话面试,由于自己的概念知识之前没有好好看过,加上京东提前批考的都是概念,没有当场写代码,所以一周时间我就抓紧看概念类的知识,已经看了操作系统,所以 就开始看java的基础概念,看了整整五天。从基础的,jvm,Redis,spring,springMVC,高并发,集合等等,之前面过的舍友说再看看netty,远程服务调用等,我也看了下。


面试回忆

大概说一下当时问了什么,因为他问我的东西范围都特别大,我当时就没有用笔记,这些回想一下也知道了。

1.自我介绍

2.你有什么优缺点(你说出自己的缺点,他就会对你的缺点进行场景问题的解决,看你怎么处理的。)

3.你对网络有了解吗(我之前没看网络,我就说嘛我最近没看,可能很多忘了,他就没问我了)

4.说下你对集合的了解 说一下你对list的理解。/说一下对hashmap的了解。

5.说下你对Redis的理解(我也希望他说的具体些),后来问 持久化的方法

6.说下你对spring的理解

7.你平时有用过springMVC吗,说下springMVC的流程。

8.说一下Java内存,(我当时回答了他的内存包括什么,其他的想不起来有什么,我就说让他问我具体的问题)又问说一下垃圾回收的算法,什么时候进行垃圾回收算法

9.平时有用过线程池吗(我说没有),他问我那你知道 常用的线程池有几类,分别是

10 平时有用过rpc吗 我说没有 就没问了

11 反问 :我问了部门信息,还问了我这次面试过程中的不足在哪

结束


问题回答总结

针对问题2

我觉的我就没回答好,我当时想不起来自己什么缺点,我想啊想,我就说自己很容易听别人的建议,感觉没主见,哈哈哈哈,这个回答现在想想都觉得当时好傻,回答这个问题多不好啊,面试的时候还是不能这么直接,有了我这个缺点,他就接着问,那你平时和导师产生分歧的时候该怎么办,而且是导师有问题呢,又该怎么办,我觉得这没难道我,我就说这就需要沟通啊,之类的。

我感觉这个回答太老实了,自己太诚实了,这样的回答以后还是不要出现了,我还回答了自己比较普通,哈哈,好傻,以后还是尽量避开这些,以后可以回答自己没有一个很好地控场能力,不适合当一个领导者,以前一些活动的时候,可能大多数男生说话可能更能控场,也需要有人站出来等等,从这点上进行延伸,优点的话可以说自己善于聆听,并且做事认真,在这两个方面上进行延伸,这样比较合适。

不能把自己说的很普通,别人又不知道,没必要。

针对问题4 5 6

这类问题问的 太大了,我实在不知道从哪里回答,他要问的详细点还好,但是并没有,让我回答list的理解,我当时是准备了, 知道linkedlist和arraylist的区别 ,这样却不知怎么回答。
对spring我只是介绍了aop和ioc的概念,就没深入。比如beanfactory和applicationcontext
等,我也没有讲。
redis 我就说了他比较快,然后回答了他的五个基本类型,但是回答的时候嗄,不知怎么,这五个类型被我说拗口了,怎么都说不对,贼尴尬,string,集合 有序集合 列表 散列表。

后来我问了我得舍友,舍友给我的解答是,回答这类问题时候
1.先介绍基本概念

2.这是干什么用的

3.他的适用场景是什么

4.优势在哪里

5.此时介绍具体的点

现在来看一个具体的点,如果问到 redis理解,我找到一个目录,我们来看这个目录:
在这里插入图片描述
在这里插入图片描述

得从这些目录里面入手才行啊,我对这些概念差了点系统的框架,所以只介绍了很基本的东西,不能深入。我连缓存雪崩,穿透这些都没回答,之前背过,但是呢,没有回答上,这是我之后要加强的。

这个上面的目录来源于redis相关面试知识

强烈希望点进去看看,除了redis还总结了其它的jvm 基础 mybatis spring等所有的java差不多都有了。

针对问题7

这个问题啊,我记得那个流程图,也知道哪里走到哪里,需要加强记忆的在于他们之间传递的是什么,这些我有点遗忘,搞得我回答的时候想不起来中间是什么了,比如前端控制器传到requestmapping,返回什么,这我忘了 ,太尴尬了,我就只说传到哪里,然后再传到哪里,这样的回答有点业余。
在这里插入图片描述

所以啊,我希望的是,我们掌握的知识应该是那些更为具体的,就是数字旁边的那些小文字,不仅仅光知道大框里面的。这也是我回答不到位的地方。

针对问题8

我回答内存包括五部分,但是当时有点紧张还是咋,就是少了一部分,后来才想起来,这也给hr反映出我的基础知识有一点糊涂,五部分(计数器 虚拟方法栈 本地方法栈 方法区 堆),我在回答这些问题的时候没有细化,就只回答了这几类,我当时心急了还是怎么回事啊,不应该啊,这必须熟记于心才行。

还有回答垃圾回收算法的时候, 我也卡壳了,标记清楚 复制,我当时说着标记什么,但就是想不起来了,太尴尬了,标记整理 和分代回收,这个我没想起来。

还有什么时候进行垃圾回收,这个我确实不知道,我只说了分代的时候老生代也快满的时候需要回收,其它的就不知道了。。。
在学习一下

java的垃圾回收分为:三个区域新生代 老年代 永久代
在这里插入图片描述

一个对象实例化时 先去看伊甸园有没有足够的空间

如果有 不进行垃圾回收 ,对象直接在伊甸园存储.

如果伊甸园内存已满,会进行一次minor gc

然后再进行判断伊甸园中的内存是否足够

如果不足 则去看存活区的内存是否足够.

如果内存足够,把伊甸园部分活跃对象保存在存活区,然后把对象保存在伊甸园.

如果内存不足,向老年代发送请求,查询老年代的内存是否足够

如果老年代内存足够,将部分存活区的活跃对象存入老年代.然后把伊甸园的活跃对象放入存活区,对象依旧保存在伊甸园.

如果老年代内存不足,会进行一次full gc,之后老年代会再进行判断 内存是否足够,如果足够 同上.

如果不足 会抛出OutOfMemoryError.

在这里插入图片描述
这需要我在着重记忆一下。

针对问题9

我只回答了常用的线程池有四类,(回答了有 定时 定长 单线程…)我只回答了中文名字,太尴尬了。他说行 知道了。
现在再总结下。

1、newCachedThreadPool

创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。
这种类型的线程池特点是:

工作线程的创建数量几乎没有限制(其实也有限制的,数目为Interger. MAX_VALUE), 这样可灵活的往线程池中添加线程。

如果长时间没有往线程池中提交任务,即如果工作线程空闲了指定的时间(默认为1分钟),则该工作线程将自动终止。
终止后,如果你又提交了新的任务,则线程池重新创建一个工作线程。

在使用CachedThreadPool时,一定要注意控制任务的数量,否则,由于大量线程同时运行,很有会造成系统瘫痪。

2、newFixedThreadPool

创建一个指定工作线程数量的线程池。每当提交一个任务就创建一个工作线程,如果工作线程数量达到线程池初始的最大数,则将提交的任务存入到池队列中。
FixedThreadPool是一个典型且优秀的线程池,它具有线程池提高程序效率和节省创建线程时所耗的开销的优点。但是,在线程池空闲时,即线程池中没有可运行任务时,它不会释放工作线程,还会占用一定的系统资源。

3、newSingleThreadExecutor

创建一个单线程化的Executor,即只创建唯一的工作者线程来执行任务,它只会用唯一的工作线程来执行任务,保证所有任务按照指定顺序(FIFO, LIFO, 优先级)执行。如果这个线程异常结束,会有另一个取代它,保证顺序执行。单工作线程最大的特点是可保证顺序地执行各个任务,并且在任意给定的时间不会有多个线程是活动的。

4、newScheduleThreadPool
创建一个定长的线程池,而且支持定时的以及周期性的任务执行,支持定时及周期性任务执行。

下一次再回答的时候就要回答英文,这样比较好。

总结

最后反问的时候我就说,这次我的问题在哪,他回答说我对网络的知识不是很懂,还有就是实践的有点少,相比于面试的校招生来说掌握的还不够,他都说到这,我也觉得他说的对,还有个很大的问题,可能自己知道的呀,自己却没有回答,这一点在于再回答问题的时候呢,没有系统化的框架,想到哪里说哪里,所以很快就把这些说完了,我得知道对方想知道写什么,比如spring的理解,这个我就没说到位,直说概念,让人家觉得我就很普通,需要深入的说beanfactory的之类的,还有bean的周期嗄,什么的我都没说,总结一套答题的流程也很重要啊。

还有这些基础的概念需要扎实了才行,不如springmvc,回答的时候只知道那些大框架的,忘了小文字,这些都需要牢牢掌握住嗄。

还有再回答问题的时候需要有耐心,又没人催我,急什么嗄,比如他让回答有几类,回答完,把这些类别细细解释一下啊,我都没有解释,我直接就回答大类,这有点差劲。别急,会的就慢慢回答,把握自己急的,让别人觉得自己是一种急躁的性子,还有说话语速需要放慢,说话快反而说明自己不自信,需要加快语速来躲避这些问题,慢一点,别急。

网络的知识最近需要好好看看,每天除了做力扣,还要看概念,不能光想着做力扣,这样也不对。

这次面试没有问到项目,所以并没有对项目进行整理,以后问到了,可能对项目有更深的认识。

接下来需要多投简历,多锻炼,这才是我第一次投简历面试,没事,继续加油啊.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值