字节商业化后端实习1+2+3面

3.28字节跳动一面+二面

一面:

  • 自我介绍;

  • 围绕项目问问题,会先从应用的点逐步切入,深挖。问的还是挺细的。

    • 项目是自己完成的吗,架构设计是什么样子的?我从数据库表设计说起,分为三层架构逐层设计。面试官追问你数据库层面有做什么优化没?我说我的表比较少,就正常设计了。应该说一下索引的。
    • 怎么保证Redis的高可用,redis崩了你数据怎么办?
    • 怎么解决的超卖问题?
    • 如果有大量非法用户发送请求,你怎么保证数据库不崩?
    • 索引失效的场景?
    • 怎么保证数据在消息队列不会丢失?我说给每个数据加一个UUID,在发送方和接收方进行比对;面试官好像不是很满意,他说那你需要建立两个表吗,如何进行比对。我说这块我没有在项目实现,在帖子上看到的方案;
    • 你为啥用RabbitMQ?我说RabbitMQ并发量比kafka低,但是够用我的场景了,而且是开源的。面试官说其他的消息队列也是啊。确实,这块还是得仔细想想,技术选型挺重要的,大家也要注意。
    • 你怎么处理大量用户请求?
    • 怎么阻塞线程?我答使用sleep()/park()等方法,面试官继续追问你见过在java源码里使用这些方法吗。。我答在JUC包下ConcurrentHashMap有用到。(就对这个熟悉,别的没敢说)
    • java线程池的参数,拒绝策略有哪些
  • 算法题

    • 写一个sql查询:给定一个表table,包含以下字段:

      id name start_time end_time

      给定一个时间区间[1,10],查询所有在这个区间的数据;

      lz好久没写sql了,硬着头皮这样写:

      select * from table where start_time>=1 & start_time<=10

      之后面试官说求的是在这个区间的数据就要算进去,我一想,[5,15]这样的也算,又改了一次:

      select * from table where start_time>=1 || start_time<=10

      面试官说那[20,30]的算不算?我一看又错了。。。菜的真实的xdm。之后又写了一会面试官没耐心了,说这题先到这吧,你说说思路也行。哎,心里凉半截了,我说应该从区间位置关系去判断,数据在给定区间的左侧且有重合,在给定区间的右侧且有重合,包含给定区间,被给定区间包含。。。我都觉得太罗嗦了这样,面试官说你多久没写sql了哈哈哈。

    • 之后做一道java编程题。二叉树中和为某一值的路径 .之前做过,但是我没看清题,是到叶子节点的路径,我以为是任意一个路径就可以。。。哎,瞬间觉得没戏了。对了,字节的编程平台也是ACM模式,但是用着很不习惯。。

    • 之后面试官说差不多了,让我问下问题。我说我这次面试有哪些不足的地方?面试官说你的工程应用能力还得再提高。我追问工程应用是指项目?他说是SQL和编程。之后问了面试官的部门业务。

    到此为止我以为已经无了,谁让咱没A了算法题呢,面试官说你先别退会议,一会二面。我一脸蒙的说好。

二面:

二面是个很温柔的姐姐,很有耐心。

  • 自我介绍
  • 用户登录功能设计
  • 怎么保证Redis可用性,持久化策略,内存满了怎么办(这里给提醒了内存逐出策略)
  • rdb和aof区别
  • 一次HTTP请求的处理流程,详细说说
  • 平时遇到过并发问题吗,怎么解决?我答:加锁(Synchronized)不加锁(CAS)
  • 接上条,锁升级了解吗,具体说说
  • 你的每次用户登录校验都需要从数据库读数据,考虑性能问题了吗?这个没考虑到
  • RabbitMQ是怎么完成数据的存放的?我把数据发送过程说了下,面试官说她想问的是RabbitMQ是怎么保存数据的,是用Broker还是?我??表示不了解,只会基本使用。
  • 消息队列的数据怎么保证不重复不丢失,分布式系统怎么保证数据不会重复
  • 注册中心是怎么实现的,原理?这个也不会,就简单用了下。
  • DNS负载均衡是怎么实现的?我答了哈希负载均衡,说这个可以详细讲讲吗?面试官说当然可以。说了哈希负载均衡的数据结构设计,如何实现的负载均衡。其实还可以讲讲负载增加的Rehash操作,面试官没再继续问我就没说了。
  • Redis集群的设计是用的哨兵吗?说说当master挂了哨兵是怎么处理的
  • Redis的底层结构:string底层是怎么实现的
  • 看你写了Netty,你应该懂网络编程哈。我赶紧说还在学,没学完(手贱写简历上了)。面试官说那简单问问,说说RPC的调用。
  • JVM调优你是怎么操作的,我说用一些可视化软件进行操作,排查死锁,OOM,内存泄漏等。
  • 说一下dubbo这种RPC的组成部分。
  • 你平时是怎么平衡自学编程和学业的。我说有空就学,哈哈哈

算法题:

给你一个整数数组,将数组分成m份,每份的数组和相等,问m最大值。

举例:nums={1,2,2,3,4,6}可分成{1,2,3},{2,4},{6},所以m==3

我看了一会说没思路,面试官姐姐给了提醒:可以把数组加和之后从数组长度n开始判断,能分成n份吗。我当时没太理解,写了一会时间到了,让说了说思路。我的思路是对于数组从n份开始判断,能分成n份吗能分成n-1份吗。。。我建立了一个Map。存放数据出现的次数,想在这个基础上判断。。面试完搜了答案才发现并不需要知道要分成的元素具体是啥,只需要先把数组倒排序,从数组最后一个位置开始判断,如果最后一个位置不行,那就去找和为nums[0]+nums[n-1],因为这是能构成相等子数组的最小值。依次循环判断。

之后反问面试表现。面试官说你基础还是不错的,算法题再提高一下。

又问了下部门和业务。

总之一句话,女人会可能离开你,兄弟可能背叛你,但算法题不会,算法题不会就是不会。(/doge)

OK,就这样了,以后多刷题多总结,不要总觉得能做到原题。。虽然原题也不一定能做出来。。。加油奥里给。

3.30字节跳动三面

55min

先做自我介绍

为什么要学编程,你理想的工作环境是什么样的,你是想转正的吗

问了课题组的项目流程,为什么进行进行代码重构,如何保证重构前后的业务代码一致性;你参与了哪些工作;

问了秒杀的业务流程,如何保证不出现超卖。你用Redis比较多,那Redis出现问题你的数据怎么办?你说到持久化,那么rdb文件是怎么在Redis里存储的,是否每次更新数据都要保存快照,底层是怎么实现的。

智力题:从九个人中等概率选出两个人,你只有一个六面的骰子,骰子上的数字分别是1-6.

其实就是rand(1,6)到rand(1,9)的映射。我的策略是九人分三组,开始扔三次骰子,从三组分别找出一个人,之后再让这三个人PK,找出第一个被选中的人。选第二个人是8人分两组,以此类推。

问了朋友,他的方法是从9人选两人的方案数是C29,也就是36种,那么只需要将36均分成6个区间,第一次选出一个区间,第二次选出区间的一个组合。这种方案确实很不错。

下面是算法题。第一次抽的是给一个二维char数组,找出一个单词是不是在该数组里。经典回溯题,但是面试官突然说这个题有问题,又重新抽了一道。第二道是找出两个字符串的最长公共连续子串,也是经典dp问题,先定义dp[i] [j],再推状态转移方程,一会也写完了。测试用例过了。

最后反问了当前的技术栈是哪些,被告知是java语言相关,不用转语言。问了如何学习分布式。

这周 三天面了四场,小小总结一下吧。

面试官的目的不是为了把你问住,而是看你对技术栈掌握的广度和深度有多少,尤其是在现场面试的环节,你的临场表达是否清晰,逻辑自洽等。不了解的地方告知面试官,及时止损。

算法题可以不用最优解,用你觉得最稳的方案先做出来,之后有优化的方案可以再和面试官讨论。

算法题思路不确定要先和面试官沟通,讨论一下思路,如果面试官不同意那就算了。在自己没太大把握做出来的时候一定不要闷头写。

总的来说,java基础,jvm,多线程,数据库语句和底层结构,操作系统,计网都有涉及,而且往往从项目入手,对用到的技术栈深问,看你的深度,技术选型和对意外情况的考虑等。

#面试复盘##实习#
全部评论
兄弟是杭州的商业化吗?
点赞 回复 分享
发布于 2022-03-31 11:12
兄弟三面有结果了没,约hr面了吗?
点赞 回复 分享
发布于 2022-03-31 16:30
兄弟,请问二面多久收到三面通知的
点赞 回复 分享
发布于 2022-03-31 21:29
话说redis缓存崩了咋解决,是利用集群或者持久化机制吗
点赞 回复 分享
发布于 2022-04-01 11:25
楼主从投简历到约面中间大概几天呀
点赞 回复 分享
发布于 2022-04-01 21:16
🎉恭喜同学成功投稿参与【面试复盘】,并通过审核! 😉请留意你的私信,官方红N人员将与你取得联系,进行奖励发放~ 👉🏻戳:https://www.nowcoder.com/discuss/872618了解更多活动详情~
点赞 回复 分享
发布于 2022-04-06 21:02
老哥收到过几次问卷
点赞 回复 分享
发布于 2022-04-21 21:43
同学为啥感觉你的好难,感觉主要是我太菜了的,面试官就没有深问。我的也是商业化。上来问项目,问了好久。然后开始问hashnap,然后问线程安全,然后问锁和事物就开始做题了。感觉其实就是不要我的节奏。。
点赞 回复 分享
发布于 2022-04-27 17:00
这不是宁子吗
点赞 回复 分享
发布于 2022-05-25 09:07

相关推荐

dongsheng66:如果想进大厂的话,在校经历没必要占这么大篇幅,可以把专业技能单独放一个专栏写,可以加个项目经历
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
8
60
分享
牛客网
牛客企业服务