三面字节跳动,我不出所料的成功上岸了,分享一下我是怎么手撕面试官的吧

本文详细记录了作者三轮面试字节跳动的经历,涵盖算法、Spring AOP、MySQL、TCP、Redis等技术。面试中讨论了数组中位数的计算、重载与重写的区别、限流实现、TCP拥塞控制、数据库索引等。最终,作者顺利通过面试。
摘要由CSDN通过智能技术生成

前言

面试时间约的是下午两点半,结果是整体面试开始的时间,等到快五点的时候开始面试,
面试体验还不错,面试人员有十位,整体过程还是比较友好的,主要问的有3-4位。

字节跳动一面

1.算法题,求数组中位数。

A:使用快排,partition() 返回当前排序索引,如果等于数组长度的一半就能

提前返回。

不过时间复杂度说错了。。其实应该是N,后来面试官帮忙纠错还认真解释,点

赞嗷

2.算法实现用到了重载,重载和重写有什么区别?

A:重写用于多态实现,多态分抽象多态和接口多态,涉及到字节码

invokevirtual this # 和方法表,抽象多态方法解析时调用相同偏移

量的方法代码

接口多态线扫一次寻找对应方法代码。重载用于相同类方法调用跳转。

3.项目用户接口限流怎么实现的?

A:自定义注解 + 配套的注解拦截器,Spring Boot 提供

HandlerInterceptor

快速构建,底层使用反射。

4.谈谈对 Spring AOP IOC 的理解

啊这一开始还以为想知道我对AOP 的理解,扯了一堆切点、增强逻辑啥的。。

后来面试官改问AOP 的实现原理,回答的是 JDK 动态代理和 CGLIB 代理。

5.这两个有啥区别?

A:jdk 动态代理用接口实现,对象需要实现接口;后者用扩展子类实现,private

和final

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]:为什么decimal中不能使用equal进行值比较,而是使用compareTo? 引用\[2\]:运行结果 运行结果不出所料,BigDecimal的equals方法当精度不一样的候也当做不相等,而compareTo方法却可以忽略精度的不同,只比较数值是否相同。 引用\[3\]:前两天测试发现一个Bug,告诉我他明明只修改了订单详情中商品的数量,为什么提示订单中商品单价不能修改(后台限制了特殊单子的单价不能修改),但是他明明没有修改商品的单价,这就很奇怪了。我看了下入参,修改接口传的该商品的单价为price=222,数据库中该商品的单价为222.000000。该字段为BigDecimal类型,除了精度不一样,值是相等的,而后台校验相等用的是equals。而网上查资料BigDecimal用的比较多的是compareTo方法。 问题:decimal.compareTo方法的作用是什么? 回答: decimal.compareTo方法是用来比较两个BigDecimal对象的大小。与equals方法不同,compareTo方法可以忽略精度的不同,只比较数值是否相同。\[2\]在实际应用中,比较BigDecimal对象的大小,通常会使用compareTo方法而不是equals方法,因为equals方法在精度不一样的情况下会当做不相等。\[3\] #### 引用[.reference_title] - *1* [decimal相关知识](https://blog.csdn.net/qq_39130650/article/details/122228187)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [BigDecimal比较建议用compareTo](https://blog.csdn.net/wanghao112956/article/details/99942982)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值