刷了一个月面试题,终于拿到了字节跳动的offer

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情

一面

  • 自我介绍
  • 项目中的监控:那个监控指标常见的有哪些?
  • 微服务涉及到的技术以及需要注意的问题有哪些?
  • 注册中心你了解了哪些?
  • consul 的可靠性你了解吗?
  • consul 的机制你有没有具体深入过?有没有和其他的注册中心对比过?
  • 项目用 Spring 比较多,有没有了解 Spring 的原理?AOP 和 IOC 的原理
  • Spring Boot除了自动配置,相比传统的 Spring 有什么其他的区别?
  • Spring Cloud 有了解多少?
  • Spring Bean 的生命周期
  • HashMap 和 hashTable 区别?
  • Object 的 hashcode 方法重写了,equals 方法要不要改?
  • Hashmap 线程不安全的出现场景
  • 线上服务 CPU 很高该怎么做?有哪些措施可以找到问题
  • JDK 中有哪几个线程池?顺带把线程池讲了个遍
  • 应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描
  • SQL 索引的顺序,字段的顺序
  • 查看 SQL 是不是使用了索引?(有什么工具)
  • TCP 和 UDP 的区别?TCP 数据传输过程中怎么做到可靠的?
  • 说下你知道的排序算法吧
  • 查找一个数组的中位数?

二面

你有什么问题想问我的吗?(常规问询)

  • 自我介绍、工作经历、技术栈
  • 项目中你学到了什么技术?
  • 微服务划分的粒度?
  • 微服务的高可用怎么保证的?
  • 负载均衡与反向代理,隔离,限流,降级,超时与重试,回滚,压力测试与应急预案
  • 常用的负载均衡,该怎么用,你能说下吗?

(技术问)

  • http重定向
  • DNS负载均衡
  • 反向代理负载均衡
  • IP负载均衡(LVS-NAT)
  • 直接路由(LVS-DR)
  • IP隧道(LVS-TUN)
  • 网关能够为后端服务带来哪些好处?
  • Spring Bean 的生命周期
  • xml 中配置的 init、destroy 方法怎么可以做到调用具体的方法?反射的机制
  • Object 类中的方法
  • 对象比较是否相同
  • hashmap put 方法存放的时候怎么判断是否是重复的
  • Object toString 方法常用的地方,为什么要重写该方法
  • Set 和 List 区别?
  • ArrayList 和 LinkedList 区别
  • 如果存取相同的数据,ArrayList 和 LinkedList 谁占用空间更大?
  • Set 存的顺序是有序的吗?
  • 常见 Set 的实现有哪些?
  • TreeSet 对存入对数据有什么要求呢?
  • HashSet 的底层实现呢?
  • TreeSet 底层源码有看过吗?
  • HashSet 是不是线程安全的?为什么不是线程安全的?
  • Java 中有哪些线程安全的 Map?
  • HashTable 你了解过吗?
  • 如何保证线程安全问题?
  • synchronized、lock
  • volatile 的原子性问题?为什么 i++ 这种不支持原子性?从计算机原理的设计来讲下不能保证原子性的原因happens before 原理
  • cas 操作
  • lock 和 synchronized 的区别?
  • 公平锁和非公平锁
  • Java 读写锁
  • 读写锁设计主要解决什么问题?
  • 你项目除了写 Java 代码,还有前端代码,那你知道前端有哪些框架吗?
  • MySQL 分页查询语句
  • MySQL 事务特性和隔离级别

二、事务的并发问题

  • 不可重复读会出现在什么场景?
  • sql having 的使用场景
  • 前端浏览器地址的一个 http 请求到后端整个流程是怎么样?
  • http 默认端口,https 默认端口
  • DNS 你知道是干嘛的吗?
  • 你们开发用的 ide 是啥?你能说下 idea 的常用几个快捷键吧?
  • 代码版本管理你们用的是啥?
  • git rebase 和 merge 有什么区别?

你们公司加班多吗?(题外话)

举例回答:

项目用 Spring 比较多,有没有了解 Spring 的原理?AOP 和 IOC 的原理

答:(1). IoC(Inversion of Control)是指容器控制程序对象之间的关系,而不是传统实现中,由程序代码直接操控。控制权由应用代码中转到了外部容器,控制权的转移是所谓反转。 对于Spring而言,就是由Spring来控制对象的生命周期和对象之间的关系;IoC还有另外一个名字——“依赖注入(Dependency Injection)”。从名字上理解,所谓依赖注入,即组件之间的依赖关系由容器在运行期决定,即由容器动态地将某种依赖关系注入到组件之中。

(2). 在Spring的工作方式中,所有的类都会在spring容器中登记,告诉spring这是个什么东西,你需要什么东西,然后spring会在系统运行到适当的时候,把你要的东西主动给你,同时也把你交给其他需要你的东西。所有的类的创建、销毁都由 spring来控制,也就是说控制对象生存周期的不再是引用它的对象,而是spring。对于某个具体的对象而言,以前是它控制其他对象,现在是所有对象都被spring控制,所以这叫控制反转。

(3). 在系统运行中,动态的向某个对象提供它所需要的其他对象。

(4). 依赖注入的思想是通过反射机制实现的,在实例化一个类时,它通过反射调用类中set方法将事先保存在HashMap中的类属性注入到类中。 总而言之,在传统的对象创建方式中,通常由调用者来创建被调用者的实例,而在Spring中创建被调用者的工作由Spring来完成,然后注入调用者,即所谓的依赖注入or控制反转。 注入方式有两种:依赖注入和设置注入; IoC的优点:降低了组件之间的耦合,降低了业务对象之间替换的复杂性,使之能够灵活的管理对象。

AOP(Aspect Oriented Programming)

(1). AOP面向方面编程基于IoC,是对OOP的有益补充;

(2). AOP利用一种称为“横切”的技术,剖解开封装的对象内部,并将那些影响了 多个类的公共行为封装到一个可重用模块,并将其名为“Aspect”,即方面。所谓“方面”,简单地说,就是将那些与业务无关,却为业务模块所共同调用的 逻辑或责任封装起来,比如日志记录,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操作性和可维护性。

(3). AOP代表的是一个横向的关 系,将“对象”比作一个空心的圆柱体,其中封装的是对象的属性和行为;则面向方面编程的方法,就是将这个圆柱体以切面形式剖开,选择性的提供业务逻辑。而 剖开的切面,也就是所谓的“方面”了。然后它又以巧夺天功的妙手将这些剖开的切面复原,不留痕迹,但完成了效果。

(4). 实现AOP的技术,主要分为两大类:一是采用动态代理技术,利用截取消息的方式,对该消息进行装饰,以取代原有对象行为的执行;二是采用静态织入的方式,引入特定的语法创建“方面”,从而使得编译器可以在编译期间织入有关“方面”的代码。

(5). Spring实现AOP:JDK动态代理和CGLIB代理 JDK动态代理:其代理对象必须是某个接口的实现,它是通过在运行期间创建一个接口的实现类来完成对目标对象的代理;其核心的两个类是InvocationHandler和Proxy。 CGLIB代理:实现原理类似于JDK动态代理,只是它在运行期间生成的代理对象是针对目标类扩展的子类。CGLIB是高效的代码生成包,底层是依靠ASM(开源的java字节码编辑类库)操作字节码实现的,性能比JDK强;需要引入包asm.jar和cglib.jar。 使用AspectJ注入式切面和@AspectJ注解驱动的切面实际上底层也是通过动态代理实现的。

(6). AOP使用场景:

  • Authentication 权限检查
  • Caching 缓存
  • Context passing 内容传递
  • Error handling 错误处理
  • Lazy loading延迟加载
  • Debugging 调试
  • logging, tracing, profiling and monitoring日志记录,跟踪,优化,校准
  • Performance optimization性能优化,效率检查
  • Persistence 持久化
  • Resource pooling资源池
  • Synchronization同步
  • Transactions 事务管理

另外Filter的实现和struts2的拦截器的实现都是AOP思想的体现。

字节面试场景以及面试答案(文档总结)

知其然不知其所以然,大厂常问面试技术如何复习?

1、热门面试题及答案大全

面试前做足功夫,让你面试成功率提升一截,这里一份热门350道一线互联网常问面试题及答案助你拿offer

2、多线程、高并发、缓存入门到实战项目pdf书籍

3、文中提到面试题答案整理

4、Java核心知识面试宝典

覆盖了JVM 、JAVA集合、JAVA多线程并发、JAVA基础、Spring原理、微服务、Netty与RPC、网络、日志、Zookeeper、Kafka、RabbitMQ、Hbase、MongoDB 、Cassandra、设计模式、负载均衡、数据库、一致性算法 、JAVA算法、数据结构、算法、分布式缓存、Hadoop、Spark、Storm的大量技术点且讲解的非常深入

做了3年测试,靠着这份面试题和答案,我成功跳槽字节跳动拿到了前端offer 个人经历 给大家一个参考,计算机信息工程专业,大学学过前端,毕业后阴差阳错在小公司做了三年测试后,意外地拿到字节跳动前端的offer,成功跳槽到了字节跳动事业部。 字节跳动面试对基础比较看重,然后需要你有两三个比较好的项目,一面重视面试者对前端基础的把握,还要手写代码,不过不难。 二面部门的leader面,这一面比较难,面试官会对你的项目细节进行深挖,所以说项目要牛逼一点,最后还会有一道逻辑题(侥幸),三面是还是技术面,最后是HR面,如果你想进大公司的话,下面这些技术是肯定要掌握的:html5,css3, 阅读详情

相关推荐

二十不惑的年纪,竟靠着这份前端面试指南,有幸拿到字节跳动实习offer,简直在起飞

前言 博主就读于电子科技大学,大三狗一枚!面试是个漫长的过程,从海投到收获电话面试,一面、二面、三面,一个步骤出错那么后面就宣告终结。同时,面试过程中你也可能会遇到一些面试官的刁难,甚至部分面试官会说些比较打击你的话,但是大部分面试官都是很棒的! 面经分享 第一部分是我前端面试的经验总结,第二部分是我认为比较有思考空间的题目 经验总结 一份漂亮的简历,需要包括以下部分(排版由上而下) 个人亮点(专精领域,个人博客,开源项目) 教育经历(毕业院校,在校经历、荣誉) 工作经历(实习) 项目经历 专业技能

weixin_56134381的博客 9257

字节跳动面试分享,为了拿下这个offer鬼知道我经历了什么

字节跳动面试分享,为了拿下这个offer鬼知道我经历了什么 前言: 金九银十过了金三银四还会远嘛,本文后面分享面试题给正准备跳槽,准备找工作的你,这次面试字节跳动也是做了很多的准备,还好顺利拿到offer,特分享一下这次的4面技术面真题,可能有些记不全了,但多少也能够给一些正在面试字节或计划面试字节的朋友提供帮助。 之前学校活动有去过字节跳动公司总部参观,所以一直以来就蛮...

Javazhoumou的博客 6502

1个月Java面试题,跳槽字节跳动,三面斩获Offer

前言 一位小伙伴狂1个月面试题,最终拿下了字节跳动Offer,今天小编把这位小伙伴遇到的面试题分享出来,希望能对即将面试的小伙伴有所帮助。 小编还整理了一份Java面试核心笔记资料,希望可以帮到你们哦~ 一、字节跳动技术一面(算法) Java 的 16 进制与字符串的相互转换函数 JAVA 时间格式化处理 将毫秒转化为日期 文本的倒序输出 判断一个数字是奇数还是偶数 用Hibernate 实现分页 35 选 7 彩票程序 获取 GMT8 时间 中文乱码转换 小标签 Big5 字与 Unicode 的

weixin_47955802的博客 4921

二本的我怎么拿到字节跳动offer

作者:Thebloodelves链接:https://www.jianshu.com/p/755d499535d0前言大佬请自觉绕过,我只是站在一个菜鸟的角度来写这个文章...

爱编程 2万+

一个月面试题终于拿到字节跳动offer,高级java工程师面试简历范文

总而言之,在传统的对象创建方式中,通常由调用者来创建被调用者的实例,而在Spring中创建被调用者的工作由Spring来完成,然后注入调用者,即所谓的依赖注入or控制反转。(2). 在Spring的工作方式中,所有的类都会在spring容器中登记,告诉spring这是个什么东西,你需要什么东西,然后spring会在系统运行到适当的时候,把你要的东西主动给你,同时也把你交给其他需要你的东西。所有的类的创建、销毁都由 spring来控制,也就是说控制对象生存周期的不再是引用它的对象,而是spring。

2401_84424379的博客 1156

一个月面试题终于拿到字节跳动offer(1),java面试题精选

面试前我整理归纳了一些面试学习资料,文中结合我的朋友同学面试美团滴滴这类大厂的资料及案例由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!大家看完有什么不懂的可以在下方留言讨论也可以关注。网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)一个人可以走的很快,但一群人才能走的更远!

2401_84424327的博客 1000

一个月面试题终于拿到字节跳动offer(1),2024年最新网易java面试流程

每年转战互联网行业的人很多,说白了也是冲着高薪去的,不管你是即将步入这个行业还是想转行,学习是必不可少的。作为一个Java开发,学习成了日常生活的一部分,不学习你就会被这个行业淘汰,这也是这个行业残酷的现实。如果你对Java感兴趣,想要转行改变自己,那就要趁着机遇行动起来。或许,这份限量版的Java零基础宝典能够对你有所帮助。网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

2401_84102915的博客 683

面试题】5面终于拿到字节跳动offer!

程序员的成长之路互联网/程序员/成长/职场关注阅读本文大概需要 2.8 分钟。来源:www.jianshu.com/p/aaf3242817bc坐标北京,某211本科毕业生,之前学校活...

良月柒 1万+

自学总结:非科班转行前端拿到字节跳动 offer?看我是如何一步一步做到的?

非科班大三下学期学习前端,现已拿字节跳动实习offer,想结合个人经历总结的前端入门方法,总结从零基础到具备前端基本技能的道路、学习方法、资料。由于能力有限,不能保证面面俱到,只是作为入门参考,面向初学者,让初学者少走弯路,希望对大家有所帮助。

weixin_56134381的博客 7872

我准备了一个月,怒面试题,4面字节跳动,顺利拿到 offer

说到字节跳动的经历还是比较搞笑的。一开始我特别想去那个游戏部门,当然 data 部门也是特别想去的,但是提前批只能投一个,于是投了游戏,结果第二天就给我挂了。。。中间北京的教育捞我,但是不想去北京所以拒绝了,上海的测试捞我,我也不太懂测试所以还是拒绝了。正式批的时候我投了俩,游戏部门和 data,结果游戏第二天又给我挂了。。。哈卖批。。。过了几天 data 也给我挂了!我想真的是跟字节命里犯冲。。。这时候阿里学长看我阿里面试最后一轮表现不太好,想给我托字节内部捞一下去教育,结果这时候 data 主动把我捞了

qq_42986622的博客 5926

疫情在家了几个月的面试题及算法,我终于拿到字节跳动offer

前言 2020多么特殊,让人记忆犹新的一年… 但是再艰难的日子也将过去,我们也要更加努力的去应对生活. 宅在家这几个月,每天生活除了陪家人,然后就是不断的题…我想这样的生活只有我们程序猿能懂…不负众望,我也拿到自己心仪的offer,“字节跳动”不枉我为他准备了那么久. 从接到面试通知,到拿到offer共336小时53分钟21秒,这个时间段内,我没有一刻是不紧张的,直到我清清楚楚地看到“录用意向书”5个大字,悬着的心才放了下去。 这次字节跳动面试,给我的感触很深,意识到基础的重要性、算法的庞大需求,这

weixin_47066028的博客 727

凭借这份前端面试宝典,我成功拿到字节跳动、腾讯、阿里巴巴等六家大厂offer

前言 又逢金三银四,拿到大厂的offer一直是程序员朋友的一个目标,我是如何拿到大厂offer的呢,今天给大家分享我拿到大厂offer的利器,前端核心知识面试宝典,内容囊括Html、CSS、Javascript、Vue、HTTP、浏览器面试题\数据结构与算法。 整个核心知识点的内容很详细,很多知识点在总结的时候会有一些纰漏,不会在文章中将所有内容都展示给大家,全部都整理在了一个pdf里面,对大家面试有帮助的可以关注小编+评论留言领取! HTML面试题部分 1.H5的新特性有哪些 2.Label的作用是什么?

pig_html的博客 1万+

怒肝3夜,狂背面试题终于拿到字节跳动offer。。。

一面 先自我介绍,由于简历上写了熟悉 GC,所以面试官上来先让我谈谈 GC。 第一次被问这个,有点不知道怎么开头,犹豫了几十秒后,我把我当时记得的主要内容从头到尾说了下,然后说“大致只了解这些”...面试官 get 到我意思后,放过了我,流汗~ 学过操作系统,谈谈信号量,信号量如何访问(当时我一直以为没明白他的意思,以为要问操作系统硬件互斥机制,后面才明白要问 PV 操作),PV 具体如何操作 Redis 的持久化机制有哪些?Redis 如何进行快照?快照快结束时,发生写

Java大将军的博客 3653

两年外包公司经验,拿到字节跳动Android offer,我的付出不止一点点

先介绍一下个人情况:双一流非科班本科出身,大学期间就自学Java、Android相关东西,也跟着老师做了一个项目,说大其实也不大,就简历上能写上的程度吧。毕业后就进了一家外包公司做开发,当然不是阿里的外包,具体什么公司就不透露了,在外包一呆就呆了整整2年多,直到现在才从外包离开,如今拿到字节的offer准备入职了。 本文内容包含两个章节:(1)我的字节跳动面试经历分享,包括面试题和答案;(2)我拿到offer前做了什么;但苦于篇幅有限,不能完全展现,需要完整pdf版,可进我的GitHub免费领取。 字节

Android 开发架构 2191

疫情在家了几个月的Java面试题,我终于拿到字节跳动offer

2020多么特殊,让人记忆犹新的一年................ 但是在艰难的日子也将过去,我们也要更加努力的去应对生活. 宅在家这几个月,每天生活除了陪家人,然后就是不断的题..我想这样的生活只有我们程序猿能懂.....不负众望,我也拿到自己心仪的offer,“字节跳动”不枉我为他准备了那么久. 从接到面试通知,到拿到offer共336小时53分钟21秒,这个时间段内,我没有一刻是不紧张的,直到我清清楚楚地看到“录用意向书”5个大字,悬着的心才放了下去。 这次字节跳动面试,给我的感触很深,意.

it小旭博客 2175

面试汇总】刚毕业就拿到阿里,字节跳动,腾讯的实习offer,附上我的经验希望帮助到大家!

前言 不知不觉已经6月中了,细想2020年在家蹲着疯狂准备秋招实习,到已经实习一个多月,紧接着大厂秋招提前批也吹响了号角,时间节点衔接得很快,在这个时间点会有点感慨,以前在秋招的时候每天都在啃网上面经,拿到offer了直接去实习也没有时间在网上反馈回来,现在决定还是以一个“过来人”的身份写一篇关于自己的亲身经历来给有需要的朋友做一些参考,大佬轻喷。接下来将从个人情况,秋招实习面经总结和秋招的一些建议三个方面展开,赶时间看题看面经的小伙伴可以直接到第二部分。 另外我这里为大家准备了一线大厂面试资料和我原创的

weixin_49494194的博客 2515
上一篇: 字节跳动首发485道Java岗面试题(含答案)
下一篇: GitHub疯传,这个Leetcode刷题手册到底有多流弊?
跟着我学Java
博客等级 码龄6年 661粉丝 1341原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值