快手java【一、二、三面】

##车祸现场记录 :本以为一面都过不了,结果还安排了后面的面试,感恩!

【一面】
java基础:
1.集合的体系,ArrayList和LInkedList区别
2.ConcurrentHashMap

java并发:
1.java锁机制(sychronized和Lock)
2.volatile
3.线程池三个参数(追问 如果1w个任务,10个线程,如何设计来处理这些任务)
4.Future  (应该是用这个回答3)
5.Threadlocal

框架:
1.spring和springboot
2.追问:bean初始化完成之前(或者之后),想要执行一段代码,应该怎么写
3.spring事务(如果在事务A的方法中,调用了B,那么B会形成事务吗??不太理解,不怎么用事务,大佬给解答一下啊)

mysql:
1.介绍一下索引,我说的MyISAM和InnoDB都是B+树实现的,还没等我说区别,面试官逼问我。“MyISAM是b+树实现的吗?”之后解释区别 聚簇和非聚簇 ?到底是不是b+树啊😭
追问:在我说InnoDB是聚簇索引的时候,问是吗?! 那InnoDB的非主键索引是什么!
2.讲一下b+树,为什么要使用它
3.mysql事务(说了下并发安全问题、隔离级别)

算法题:
1.汉诺塔(题没理解,面试官也不想看了,换了一道题)
2.一个包含很多单词的数组,寻找给定两个单词的最短距离,可能有重复的单词(暴力法求解,本来想下一种思路,面试官感觉时间太长了,面试结束)

##回去等通知吧,GG。感恩!

【二面】
java:
  1. 集合框架
  2. java锁

框架:
  1. Springboot有了解过吗?和Spring有什么区别?其中starter实现原理
  2. spring中如何解决bean的循环依赖的

mysql:
  1. 事务四大特性
  2. 事务这四大特性都是怎么来保证的

算法题:
  1. 输出链表倒数k个元素 -快慢指针
  2. 字符串字母组合(字符串中包含重复元素,但无重复组合)  -回溯
二面面试官评价:理解和掌握深度可以,但是广度差点,可以多看一点,多学一点,比如springboot、redis都没怎么用过。

【三面】

本以为是HR面了,后来才发现应该不是。。。
大概聊了下项目,其中遇到的困难。
作为程序员你觉得应该具有哪些特质。

【HR面】
有点小压力面的味道,我简历的项目与业务可能有一点出入,所以问了一下怎么看待:不会就学!

感恩!等消息中
#面试##面试题目##快手#
全部评论
spring的bean初始化前、中、后想做一些事情,怎么办?http://www.yayihouse.com/yayishuwu/chapter/2010
2 回复 分享
发布于 2022-03-11 17:16
future类和countdownlatch
1 回复 分享
发布于 2022-02-23 16:27
spring允许开发者自定义扩展bean的初始化过程,可以通过实现BeanPostProcessor,重写前置和后置处理器,运行自己想要写的代码。
1 回复 分享
发布于 2022-02-24 15:57
lz,在哪里投的快手
1 回复 分享
发布于 2022-02-25 20:34
如果在事务A的方法中,调用了B,那么B会形成事务吗? 在一个Service内部,事务方法之间的嵌套调用,普通方法和事务方法之间的嵌套调用,都不会开启新的事务。是因为spring采用动态代理机制来实现事务控制,而动态代理最终都是要调用原始对象的,而原始对象在去调用方法时,是不会再触发代理了! https://baijiahao.baidu.com/s
1 回复 分享
发布于 2022-03-11 17:24
构建线程池的方法: 1.使用Executor框架提供的线程池、使用ThreadPoolExecutor自定义线程池,但前者也是通过ThreadPoolExecutor实现的。 2.创建实现Runnable或callnable接口的任务对象 3.将对象交给ExecutorService执行。通过excute(不需要返回结果的任务)或submit(需要返回结果的任务),submit会返回一个Future对象,通过future对象的get()可以获取任务执行结果。 4.最后shutdown回收线程,或者使用future.cancel()等方法来取消任务执行
4 回复 分享
发布于 2022-02-24 15:15
当一个事务方法被另一个事务方法调用时,必须指定事务如何传播。例如:事务可能在现有方法中运行,也有可能开启一个新事物来运行。
点赞 回复 分享
发布于 2022-02-24 19:51
集合需要看源码吗😉
点赞 回复 分享
发布于 2022-03-02 13:29
追问 如果1w个任务,10个线程,如何设计来处理这些任务 楼主,这个应该怎么回答呀😋,future了解得不太深
点赞 回复 分享
发布于 2022-03-11 09:37
lz,一面后多久通知的二面呀
点赞 回复 分享
发布于 2022-03-11 16:25
Spring如何解决循环依赖 spring中循环依赖有三种情况:   1、构造器注入形成的循环依赖。也就是beanB需要在beanA的构造函数中完成初始化,beanA也需要在beanB的构造函数中完成舒适化,这种情况的结果就是两个bean都不能完成初始化,循环依赖难以解决。   2、setter注入构成的循环依赖。beanA需要在beanB的setter方法中完成初始化,beanB也需要在beanA的setter方法中完成初始化,spring设计的机制主要就是解决这种循环依赖,也是今天下文讨论的重点。   3、prototype作用域bean的循环依赖。这种循环依赖同样无法解决,因为spring不会缓存‘prototype’作用域的bean,而spring中循环依赖的解决正是通过缓存来实现的。 下面主要说明第二种情况中循环依赖的解决方案   步骤一:beanA进行初始化,并且将自己进行初始化的状态记录下来,并提前向外暴露一个单例工程方法,从而使其他bean能引用到该bean(可能读完这一句,您仍然心存疑惑,没关系,继续往下读)   步骤二:beanA中有beanB的依赖,于是开始初始化beanB。   步骤三:初始化beanB的过程中又发现beanB依赖了beanA,于是又进行beanA的初始化,这时发现beanA已经在进行初始化了,程序发现了存在的循环依赖,然后通过步骤一中暴露的单例工程方法拿到beanA的引用(注意,此时的beanA只是完成了构造函数的注入但为完成其他步骤),从而beanB拿到beanA的引用,完成注入,完成了初始化,如此beanB的引用也就可以被beanA拿到,从而beanA也就完成了初始化。   spring进行bean的加载的时候,首先进行bean的初始化(调用构造函数),然后进行属性填充。在这两步中间,spring对bean进行了一次状态的记录,也就是说spring会把指向只完成了构造函数初始化的bean的引用通过一个变量记录下来,明白这一点对之后的源码理解至关重要。 https://www.cnblogs.com/myseries/p/11801097.html
点赞 回复 分享
发布于 2022-03-11 17:34
楼主面的哪里的,北京的吗
点赞 回复 分享
发布于 2022-03-11 19:58
lz现在收到offer了吗
点赞 回复 分享
发布于 2022-03-14 13:57
楼主好,请问你这是春招吗,还是暑期实习?投的具体是什么岗位呀
点赞 回复 分享
发布于 2022-03-19 09:35
我二面完被挂了,服了
点赞 回复 分享
发布于 2022-03-22 21:35
哪个工区老哥
点赞 回复 分享
发布于 2022-03-23 18:44
快手直接把我简历挂了....
点赞 回复 分享
发布于 2022-03-24 21:16
兄弟,实习还是校招呀?感觉难度够可以了
点赞 回复 分享
发布于 2022-03-29 20:58
我一面的面试官看我本科不是计算机,就瞧不上我,问了几个技术问题,答上来了,出道算法,也写完了,又问了几个生活问题,20分钟草草了事。
点赞 回复 分享
发布于 2022-03-30 14:28
大佬三面完了之后多久hr面的呢,我4月1号三面,到现在没有什么消息
点赞 回复 分享
发布于 2022-04-07 17:23

相关推荐

10-15 22:10
已编辑
门头沟学院 前端工程师
一面60min1.npm安装包之后webpack如何处理的直接告诉他不会,然后跳转下一题。2.treeshaking了解吗(讲了purgecss相关)purgecss的提取器,ast规则和兜底策略3.你项目的性能优化(大招秒了)传输方面,sw,http,资源方面,js和html方面4.基础题cssflex和tailwindcss结合5.写loadsh的get方法对于数组内容需要正则,没写出来这部分。6.promiseall(迭代器加分)问这个问题一定给我上迭代器!7.亮色模式暗色模式mutationobserver,还引出了微任务,promise A+8.ssr了解吗(大招秒了)nextjs文件路由原理,服务端渲染源码理解,水合源码理解其他就是项目相关问题二面60min上来问:你觉得一面有没有表现不好的地方直接答:没有(坚定且自信即可,管他有没有呢)前半程很像美团一面问八股,没记录后半程针对项目问1.trpc是什么,如何实现,batchLink如何做的技巧:我没看过源码,面试官也没看过源码,那我就开始现编源码,我的思路就是标准答案哈哈。直接用类似reactquery的源码和react合成事件源码思路解答的,面试官很满意,因为这俩他懂。他说用面试官懂的内容给他科普不懂的新技术,很加分。虽然我没看过源码,但交给我让我设计估计也差不多,合理啊很合理。最后给了一道三数之和三面40min特别灵活,应该是看了我面评,八股部分我讲到20%就开始换知识点了,根本没机会连大招,而且知识点跨度非常大。有几个概念没答好,什么抽象类,面向切片编程其他没问题,问得太散了没法记录了。编程题又考了一遍lodash的get这次数组部分我也写出来了,而且使用了正则和非正则两种方式,正则是lodash官方实现,非正则是我思考出来的小技巧。三面风格就是:你会的我不问
应该还行吧:怎么这么多我没见过的词😱
点赞 评论 收藏
分享
10-10 12:42
已编辑
门头沟学院 Java
加上大四秋招面试,估计有一两百场,第一次碰到这种。面试官说话快得飞起,生怕人听清了。全程经常沉默、冷脸。最后还质疑我是不是用大模型作弊了?base杭州某官网在招部门1、你的实习代码量有多少2、看你两段实习,第一段为啥不直接干到现在(我说第一段是大四的,第二段是研一下的,中间有时间分割,所以没延续。实际上我心里想大四不用写毕设?研一不用上课?怎么可能延续啊)。那第二段为啥又不干了呢(第二段只能签几个月)3、实习的单体项目,别人为什么要用你这个东西,你怎么卖出去(我说了这个项目的背景,优势,使用场景,在这里扯半天。然后说这项目没有优势呀,那怎么卖,我寻思本来就是个小项目,指望多少人买?而且怎么卖这不是销售该考虑的事情吗)4、好你项目用了mybatisplus是吧,那为啥用mybatis,可不可以用其他的替代(不知道)5、那你mp是哪个版本。Mybatis3比mybatis2多了些啥feature(不知道)6、好你项目用了springboot是吧,为什么用spring(我说mentor选的这个以及spring的优点,不满意)。他说大家都用你就用吗,有比他好的吧,spring有没有可以用什么替代,(说了一个pico,然后问pico除了ioc和aop还有啥feature(不知道))7、你了解哪些rpc框架(dubbo,gprc),dubbo的动态寻址讲一讲(想了一下,刚开个头说到服务注册这块,直接打断进入下一个问题)8、Dubbo注册中心注册服务有哪些字段信息(说了好几个,一直问还有吗,我就又憋出来一些,一个一个憋,可能是这里让他以为我用大模型搜了吧)9、Dubbo动态注册和非动态注册区别(想了一下,说了一句不让说了)10、看你简历写了protobuf,那除了protobuf你还知道哪些序列化方式(json、kryo),那dubbo主要用哪种(答有hessian、kyro、fastjson等,反问我确定吗,不对吧?) 11、你用过idea的插件吗(说了几个插件),问哪个对我最有用,我说了个git的可视化插件(心里想着都没有gpt有用),来一句没有这个插件你就不用git啦?12、Java里重写对象的序列化和反序列化过程,该怎么写(我说如果我来写就通过实现Serializable接口,然后自定义一个writeObject和readObject方法来实现)。接着问那Serializable有啥方法(不知道,其实里面没有定义方法)13、序列化id重复了报什么错(想了一阵,猜了一个,其实不会在运行和编译时报错。这个和上一题类似,诱导性问法,没有的东西,他要问你有些什么,属于是他知道,要装个b,显着他了)14、java里有哪些error(答了几个),让口述一段代码模拟NoSuchMethodError的情况,口述了一段,说不对。我说编译之后再删除这个方法再运行,就会报,还是说不对(后面查了好像是这样的)。15、你最近看了啥书,两个点总结一下16、反问:对实习生和校招生要求是什么(沉默,然后说我这不是一个好问题,招聘上都有写),我说招聘写的是客观的,你个人主观的呢。他说他面试就是把他会的拿来问面试者,看面试者会不会(麻,你读书的时候我看你会不会)17、最后突然来一句,问我面试的时候用没用大模型(我真吐了,真的恶心,我用大模型不全给你答上了?挂就挂,还要搞上诬陷啊?)#快手##实习#
点赞 评论 收藏
分享
10 106 评论
分享
牛客网
牛客企业服务