面试过程总结

约面试

看完简历后,就是约面试了,leader让我约面试,电话面试就行,但是我想得还是视频面试一下,也能看看在线编程,所以我自己去牛客网认证了一下,成为了牛客网的面试官,可以发起视频面试,可以看到面试者手写代码,也可以看到面试者有没有切出去浏览器界面,正常面试者应该不会频繁切除当前的视频面试界面,作用还是很大。

 

undefined

 

•这是面试官的界面,主要讲讲在线编程题,面试官可以自己出题,也可以从牛客网的题库里面选一道题目出给面试者;•右下角的文字框可以输入文字,让面试者看见•右下角的输入框上面的框会提示面试者的浏览器状态,如果面试者切出去了当前页面,那么这里会提示面试者离开了当前页面。

面试

自我介绍和项目亮点

照例让面试者进行了一波自我介绍和项目亮点,这里建议大家自我介绍的时候尽量说一些和技术相关的,不要说一些和技术无关的内容,这位同学在面试时候说了自己的班委团委经历之类的,其实我是不感兴趣的,毕竟是招来做开发的,技术OK就行。

 

undefined

 

项目这里我问了问这名同学有什么亮点,(这个问题基本大多数面试官会问),这里他没说任何技术上的亮点,感觉只说了一些项目的背景,提出这个想法很好,这里感觉这样说不太好,这可是技术面试,说些技术上的亮点比较好。

 

 

Java基础

我首先问了Java基础,八种常见数据类型、拆箱封箱、重载和重写、String和StringBuffer/StringBuilder的区别、Object的方法/EQUALs和==的区别等都回答的不错,然后我问了int和Integer在输入框输入了一道题,让他做一下。

Integer a = new Integer(100);Integer b = new Integer(100);a == b

问他a和b是不是相等,他说相等,当时我内心OS:???

我就想问问他是怎么想的,我就说:“嗯,为啥是相等?”,他说,Integer是有个缓冲区(-128~127),100在这个缓存区以内,所以是相等的。

我当时就说:你再好好想想,然后再回答这个问题。(其实我这么说,是想让他说出正确的答案),如果面试官让你说你再想想,要想想自己是不是刚才说错了,因为我觉得这个问题,不应该搞错呀。

然后他又继续说了一遍刚才的回答,没有说出正确答案,然后我就和他说这个两个不相等,是比较的两个对象的地址,这里我有点失望。

 

OK,继续问问HashMap ,依次问了HashMap的原理、get、put方法、JDK1.7和JDK1.8的区别,回答的都不错,然后问了HashMap为啥是线程不安全的举个例子说明一下,没回答上来,那HashMap翻篇,这块还行。

继续问了ConcurrentHashMap,他说这块还没了解,OK,那Java这一块先这样吧,问点Linux、计算机操作系统、数据库、计算机网络吧,Java基础这一块还行勉强OK。

 

Linux

我:Linux 怎么打开一个文本 他:vi 我:怎么进入编辑模式进行编辑?他:这块之前用过,现在忘了。。。

到这里,感觉他应该很长时间没用过Linux了,或者之前就没接触过Linux,这么基本的都不知道的,真的太伤了。

我继续问:怎么查看CPU,还是不知道,我继续问怎么查看内存,也不知道,怎么查看文件大小,还是不知道,看来Linuyx这一块真的是很欠缺,这都很基本的了,也没问啥复杂命令。

这里和大家要说的是,Linux基本大多数公司开发的时候都会用到,不会Linux的话一定要去学一学,这些Linux命令不会真的可能会让面试直接失败。

 

计算机网络

好的,继续回来,既然Linux这块什么都不会,那问问其它的吧。

我:问点计算机网络,三次握手和四次挥手说一下

他:三次握手就是建立了连接,发送了三次,四次挥手就是断开连接。

我:能具体些吗?说一下状态,连接时候发送的SYN值的情况?

他:这个不知道。

这里和大家说的是,三次握手和四次挥手真的是面试必考的了,过程一定要熟悉,能在纸上完完全全的画出来的那种程度

我:为啥要三次握手不是两次握手和四次握手?他:四次握手成本高,没必要,两次握手不了解。

嗯,这里之前有写过文章,这篇,【漫画】TCP连接为什么是三次握手,而不是两次握手,也不是四次握手?

我:状态码3XX、4XX、5XX

他:不了解。。。

我:OSI七层说一下

他:七层不了解。。。。

 

操作系统

这块问了进场和线程的区别,同步异步的区别,都回答得不错,问了阻塞和非阻塞,没回答上。

数据库

问了ACID,这个竟然不知道,问了索引是什么,也不知道。。。。

问完计算机基础以后,感觉他计算机基础这块掌握的太差了。

 

 

面试Spring启动流程的时候可以按照以下步骤来回答: 1. Spring Boot的标准应用程序都是从main方法开始的。在这个方法中,我们调用SpringApplication类的run方法来启动Spring Boot应用程序。 2. 在run方法中,我们首先创建了一个可配置的应用程序上下文(ConfigurableApplicationContext),它是Spring Boot应用程序的核心容器。然后,我们创建了一个应用程序监听器(SpringApplicationRunListeners),它负责监听Spring Boot应用程序的生命周期中的各种事件。 3. 在初始化配置环境(environment)和事件监听(listeners)之后,Spring Boot会进行一些基本的收尾工作,并返回应用程序上下文。整个流程中,Spring Boot会根据配置的条件,在容器中实例化我们需要的Bean。 总结起来,面试Spring启动流程主要包括创建应用程序上下文、启动事件监听器以及实例化所需的Bean。这些步骤确保了Spring Boot应用程序的正确启动和初始化。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Java面试--SpringBoot启动流程](https://blog.csdn.net/weixin_41835916/article/details/128382440)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [SpringBoot 面试必问:启动流程](https://blog.csdn.net/wu6cfp38/article/details/129731682)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值