快手JAVA后端暑期一面二面面经(offer版

一面

先coding:一个二叉树最大宽度,一个反转链表

跳表的数据结构 在哪里了解过 查询方式是怎样查询的 讲解一下 时间复杂度是多少

mysql中索引选择b+树 为什么没选择跳表?也可以说b+树与跳表相比优点是什么 回答和树的高度 IO次数有关

java的hash map底层了解吗

什么是线程安全 线程不安全 (面试官补充了一点是 让他从无序变有序 记起来可以下次说)

进程和线程区别

c++创建对象会分配那些内存 会执行哪些操作

因为我不太了解java 面试官没法问问题 就让我自己说一下了解哪些java知识 我就简单说了一下非常基础的

post和get请求方式的区别

http协议属于哪层 底层有哪些协议支持http

用get请求把post请求里的参数传递,参数能传递过去吗,服务端能接收到参数吗?答 如果参数太长会截断,但是还是能传到服务器端的 get和post请求只是http协议里的一种规定而已

说下一次post请求的一次大概流程 就是概述发送post请求到拿到返回值的过程

tcp为什么是 三次握手和四次挥手?

http是无状态 tcp有状态 状态代表的是什么?

反问

后面通知一面过了

二面

二面一共写了四道题吧

第一道是实现一个hashmap的put函数 我实现了之后面试官一直让我实现key为对象的hashmap?如果我没理解错的话……整场下来有的时候不知道他表达的意思什么

第二道是写数组归并排序 快排

第三道是一个思维题吧 1000个水杯 其中一杯水有毒 N只兔子 最少几天可以找出有毒的水杯

第四道是写出给定的数字的所有子集。就是这道题 让我彻底摆烂了。我说可以用递归来做,讲述了思路 面试官说我表达不清晰。然后一直引导我说有数学公式可以计算出子集的数量,(高中知识 但我忘得一干二净)他说k-1长度的数组的子数组假如求出来了,k长度数组的子数组怎么求呢? 我说把已经存有的子数组都加上第k个元素 形成新的子数组,根据这个推出了公式。然后面试官就让我实现一下。我这时候才反应过来 他是想要让我用这种方法实现这道题…直接生成所有的子集…然后一直往这边引导。哎 我当时还纳闷我说求子数组数量干嘛……

到后来他说他那边问完了 我有什么问题吗 我说我没什么问题需要问(已经在崩溃的边缘

生气刷了半小时抖音 然后收到hr电话,接电话前以为快手服务这么好吗 挂了面试还给你打电话说一声的?然后通知二面通过了。然后反复确认是快手吗?是通过了吗? 竟然真的过了 不可思议 这面试是我今年最drama的面试 没有之一。

然后就是hr面 疯狂舔 然后就offer了

由于tesla的流程还在等结果 就暂时没接

================

update一下 没接offer 想准备提前批和秋招就直接拒了

#快手暑期##快手#
全部评论
哪个岗位lz
点赞 回复 分享
发布于 2023-07-07 15:03 江西

相关推荐

点赞 评论 收藏
分享
评论
1
12
分享
牛客网
牛客企业服务