草庐IT

一面面

全部标签

阿里一面:Spring Bean 默认是单例的,高并发情况下,如何保证并发安全?

Spring的bean默认都是单例的,某些情况下,单例是并发不安全的,以Controller举例,问题根源在于,我们可能会在Controller中定义成员变量,如此一来,多个请求来临,进入的都是同一个单例的Controller对象,并对此成员变量的值进行修改操作,因此会互相影响,无法达到并发安全(不同于线程隔离的概念,后面会解释到)的效果。一、抛出问题首先来举个例子,证明单例的并发不安全性:@ControllerpublicclassHomeController{privateinti;@GetMapping("testsingleton1")@ResponseBodypublicinttes

阿里一面:Spring Bean 默认是单例的,高并发情况下,如何保证并发安全?

Spring的bean默认都是单例的,某些情况下,单例是并发不安全的,以Controller举例,问题根源在于,我们可能会在Controller中定义成员变量,如此一来,多个请求来临,进入的都是同一个单例的Controller对象,并对此成员变量的值进行修改操作,因此会互相影响,无法达到并发安全(不同于线程隔离的概念,后面会解释到)的效果。一、抛出问题首先来举个例子,证明单例的并发不安全性:@ControllerpublicclassHomeController{privateinti;@GetMapping("testsingleton1")@ResponseBodypublicinttes

京东一面:MySQL 中的 distinct 和 group by 哪个效率更高?问倒一大遍。。

先说大致的结论(完整结论在文末):在语义相同,有索引的情况下:groupby和distinct都能使用索引,效率相同。在语义相同,无索引的情况下:distinct效率高于groupby。原因是distinct和groupby都会进行分组操作,但groupby可能会进行排序,触发filesort,导致sql执行效率低下。基于这个结论,你可能会问:为什么在语义相同,有索引的情况下,groupby和distinct效率相同?在什么情况下,groupby会进行排序操作?带着这两个问题找答案。接下来,我们先来看一下distinct和groupby的基础使用。推荐一个开源免费的SpringBoot最全教程

京东一面:MySQL 中的 distinct 和 group by 哪个效率更高?问倒一大遍。。

先说大致的结论(完整结论在文末):在语义相同,有索引的情况下:groupby和distinct都能使用索引,效率相同。在语义相同,无索引的情况下:distinct效率高于groupby。原因是distinct和groupby都会进行分组操作,但groupby可能会进行排序,触发filesort,导致sql执行效率低下。基于这个结论,你可能会问:为什么在语义相同,有索引的情况下,groupby和distinct效率相同?在什么情况下,groupby会进行排序操作?带着这两个问题找答案。接下来,我们先来看一下distinct和groupby的基础使用。推荐一个开源免费的SpringBoot最全教程

送分来了,华为一面,介绍下五种 IO 模型

所谓I/O,就是Input/Output,输入/输出,在操作系统中,输入输出操作其实并不简单工作在用户态的应用程序想要读取磁盘中的具体文件内容,就需要经过SystemCall(系统调用)陷入内核态因此,在操作系统中,输入输出操作通常都会包括以下两个阶段:准备数据:内核缓冲区准备数据,等待其准备好数据拷贝:从内核缓冲区向用户缓冲区复制数据以网络通信即Socket上的输入操作为例,对应的第一阶就是等待数据从网络中到达网卡(对于网络I/O来说,很多时候数据在一开始还没有到达。比如,还没有收到一个完整的TCP包。这个时候内核就要等待足够的数据到来),然后从网卡中将数据拷贝到内核缓冲区,这样,数据就准备

送分来了,华为一面,介绍下五种 IO 模型

所谓I/O,就是Input/Output,输入/输出,在操作系统中,输入输出操作其实并不简单工作在用户态的应用程序想要读取磁盘中的具体文件内容,就需要经过SystemCall(系统调用)陷入内核态因此,在操作系统中,输入输出操作通常都会包括以下两个阶段:准备数据:内核缓冲区准备数据,等待其准备好数据拷贝:从内核缓冲区向用户缓冲区复制数据以网络通信即Socket上的输入操作为例,对应的第一阶就是等待数据从网络中到达网卡(对于网络I/O来说,很多时候数据在一开始还没有到达。比如,还没有收到一个完整的TCP包。这个时候内核就要等待足够的数据到来),然后从网卡中将数据拷贝到内核缓冲区,这样,数据就准备

2022华为中央媒体技术院AI算法工程师FindStar一面+二面+主管面

7月中投的华为2012实验室FindStar,选了中央媒体技术院的AI算法工程师,做了笔试后通知了面试。笔试简单介绍一下,大概3道题,分值分别为100+200+300,第一题拿了97,第二题200,第三题题干太长就放弃了,后来复盘发现很简单的找规律题。。。一面上来先自我介绍,然后开始问项目,简单介绍了一下论文和比赛。论文的时候让我介绍了一下为什么用GAN不用AE,问我怎么理解GAN的。我说GAN可以看做是在AE上面加了一项来自判别器的约束,但是面试官似乎不太满意这种说法(不太严谨,因为pix2pix的生成器是AE结构,但普通的GAN的生成器是没有encoder的),让我从头介绍一下GAN的结构

2022华为中央媒体技术院AI算法工程师FindStar一面+二面+主管面

7月中投的华为2012实验室FindStar,选了中央媒体技术院的AI算法工程师,做了笔试后通知了面试。笔试简单介绍一下,大概3道题,分值分别为100+200+300,第一题拿了97,第二题200,第三题题干太长就放弃了,后来复盘发现很简单的找规律题。。。一面上来先自我介绍,然后开始问项目,简单介绍了一下论文和比赛。论文的时候让我介绍了一下为什么用GAN不用AE,问我怎么理解GAN的。我说GAN可以看做是在AE上面加了一项来自判别器的约束,但是面试官似乎不太满意这种说法(不太严谨,因为pix2pix的生成器是AE结构,但普通的GAN的生成器是没有encoder的),让我从头介绍一下GAN的结构

中兴测试一面

1、8.13投递简历2、8.19笔试,8.20测评3、9.17 收到一面通知4、9.2116:30一面:自我介绍论文发表情况科研成果?主要研究的介绍测试项目是怎么做的,使用了哪些工具有写过自动化吗?怎么写的?接口自动化是怎么做的?你一般做测试是怎么样的一个流程性能测试怎么用的Jmeter?具体有自己去做过吗?做并发测试跑了多久?指标怎么样?做的哪个功能的?怎么写的断言?黑盒测试和白盒测试有什么区别?你技术栈是什么?python:        知道基本数据类型吗?        哪些是可变的?哪些不可变?        两个字典是怎么合并的?add可以吗?                upd

中兴测试一面

1、8.13投递简历2、8.19笔试,8.20测评3、9.17 收到一面通知4、9.2116:30一面:自我介绍论文发表情况科研成果?主要研究的介绍测试项目是怎么做的,使用了哪些工具有写过自动化吗?怎么写的?接口自动化是怎么做的?你一般做测试是怎么样的一个流程性能测试怎么用的Jmeter?具体有自己去做过吗?做并发测试跑了多久?指标怎么样?做的哪个功能的?怎么写的断言?黑盒测试和白盒测试有什么区别?你技术栈是什么?python:        知道基本数据类型吗?        哪些是可变的?哪些不可变?        两个字典是怎么合并的?add可以吗?                upd