快手-商业化-效果营销-Java日常实习

一面(25/2/26)(过)
    1、自我介绍
    2、介绍一下HashMap。(扩容机制、寻址、为什么扩容是二倍)。
    3、如果说当前有1000个k-v结构数据放入HashMap中,最终HashMap中是什么情况。(数组桶2048个)
    4、HashMap线程安全吗?哪些是线程安全的hash结构?
    5、介绍一下concurrentHashMap线程安全实现的原理?(1.8之前、之后)
    6、list和set集合的区别?
    7、对list遍历想到几种遍历方式?(按下标、语法糖:、迭代器)
    8、如果对于list中的元素遍历过程中进行删除满足一些条件的元素,你会怎么做?
    9、线程池的有几个参数?
    10、线程池的拒绝策略?默认的是哪种?
    11、线程池的线程工厂有哪几种?默认的是哪种?
    12、三个线程顺序打印a,b,c,有哪几种方式实现?
    13、MySQL的分库分表有哪些方式?如何分库?主键设置?路由id?
    14、MySQL集群的搭建方式?(答了主从同步,binglog、relaylog、哨兵模式)
    15、redis主库挂了之后无法承接写操作,这期间的写操作的有效性和一致性如何来保证?
    16、对于索引来说,字段的选择,组合索引的使用。(答重复度小的,联合索引的部分失效)
    17、组合索引支持范围查询吗?三个字段第二个字段是时间字段,时间字段进行范围查询会生效吗?
    18、从持久缓存中把数据加载到redis中的加载策略,如果让你来设计你有什么思路。就是从mysql到redis的这一个过程的策略?(没听明白,答了redis读取mysql的binlog日志进行数据同步)
    19、redis中分布式锁的实现?(黑马点评开始吟唱)
    20、OLAP和OATP了解过吗?(???)
    21、事务了解过吗?这是本地事务,分布式事务了解过吗?
    22、事务如何开启?(答了隔离等级和解决的问题,mysql命令开启,transaction注解开启)
    23、在A方法上调用B方法,B方法上使用了transaction注解,B中的事务会生效吗?(this调用无法生效,需要使用代理调用)
    24、介绍一下单例模式?(答spring的bean默认单例,比较prototype状态是非单例的)
    25、spring中用到的设计模式?
    26、消息队列有用过吗?知道是干什么的吗?(了解过,知道有kafka、mq,举例点评里面的秒杀优化)
    手撕:5. 最长回文子串
    面试官:在我这里算是一个通过,说一下你的问题:消息队列在日常使用非常频繁,要加紧补出来;缓存加载;分布式事务。对于面试实习来说整体表现算是比较优秀的。
    反问:公司或者面试官您需要什么样的实习生
        上手快,培养成本比较低,可以快速的帮正式成员分担一些任务。对于项目来说不一定技术复杂度越高,而是适合的比较好。

二面(25/3/5)(挂)
    1、自我介绍
    2、把秒杀展开说一说?
    3、乐观锁怎么解决超卖问题的?
    4、具体是在哪一步?
    5、说到分布式,被打断,就单体情况对MySQL操作,能不能解决一人一单超卖问题?
    6、详细说一下,怎么判断?判断哪些字段?判断完之后成功和失败情况分别是什么样的?
    7、怎么解决库存超卖?那你怎么解决主从延迟问题?查完了再去写,肯定是有延迟的?(答先判断扣减库存是否成功,成功再下单)
    8、那你怎么保证这两个操作不被打断呢?(死脑子快转啊,应该是想问事务,用transaction注解,当时脑子里面在想什么啊)
    9、后面扯来扯去有扯到消息队列里面了。
    10、分布式锁怎么实现的?(说到误删的问题,面试官说这个问题一般不会有)
    11、接着拷打巴拉巴拉,又扯回库存超卖问题了。(应该是一直想问事务)
    12、后面又拷打一些场景
    手撕:写一个单例模式,get方法没加static,被提醒了一下。
    总结:其实问的很常规,只不过问的很细节,项目还是不熟吧,反思。
全部评论
这不是我们的大部门吗
1 回复 分享
发布于 03-08 11:33 北京
点赞 回复 分享
发布于 03-12 09:33 江苏
楼主很厉害,二面完怎么知道挂了
点赞 回复 分享
发布于 03-10 08:10 辽宁

相关推荐

09-08 17:01
已编辑
门头沟学院 Java
更新:果然面完就没消息,等了一星期发感谢信了📍面试公司:快手🕐面试时间:9-1,38分钟💻面试岗位:本地生活-营销方向❓面试问题:1.一上来自我介绍都没有,自己问2.java线程池,从参数到流程3.线程池是怎么把任务给线程执行的?(我前面已经讲过线程池的流程,阻塞队列啥的,我说不就是还没到核心线程数就新建线程执行吗,面试官说不不不,就是线程池怎么把任务给线程执行的,我又说了线程池提交任务的execute和submit,面试官又重复不不不,到这里我没招了,然后问我没看源码吗)刚下来查了会ai,源码是有一个worker对象对应线程,然后有run方法和runwork方法。怪我没看源码。4.看过spring源码吗(看八股的时候或多或少看过,愣了几秒回没看过)5.jdk和cglib动态代理,为什么jdk要目标类实现接口的(我说jdk是反射,通过代理类实现相同接口,覆盖,起到代理效果。面试官还问为什么要接口,又一次不知道怎么开口。ai说:JDK动态代理依赖于接口的多态性。如果没有接口,代理类无法确定需要生成哪些方法)6.mysql慢查询,深分页怎么优化7.mysql索引失效情况8.mysql优化9.redis你一般用来干什么,讲讲项目怎么用的10.redis5种数据结构11.跳表结构,跳表查询时间复杂度12.跳表的索引高度是怎么确认的(又一个不知道的,我结结巴巴说他自动生成的。ai说:在跳表中,每个节点的索引高度(即该节点有多少个指针)是通过随机化方法确定的。具体来说,通常使用一个随机数生成器来决定每个节点的索引高度。这种方法的优点是简单且高效,同时能够保证跳表的平均性能。​)之后应该是看我深层的东西不会,做题了算法:lchot100最长公共子序列(二维dp,自信做完发现答案老少个1,边界问题当时没发现,用了个ans=Math.max(ans,dp[i][j]+1),才把表面几个例子都过了,面试官没说啥🙈)反问:1.什么是本地生活2.营销方向呢3.听说快手面试完当天没打电话约面是不是就挂了(面试官说不能说,这是hr那边的事)🙌面试感想:面试官开了摄像头,这点还好,之前面某大厂不开摄像头的。老问源码,受不了。只能说每次面试都能遇到不会的东西,我认了,真认了
查看14道真题和解析
点赞 评论 收藏
分享
评论
12
90
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务