
春招冲关-Java后端
文章平均质量分 86
春招笔记
可乐可乐可
远方,需要不断追寻
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
字节,I‘m back | 22届秋招 感悟|面经整理
关注博主不迷路:可乐可乐可博主还只是个双非的22小萌新,轻喷,谢谢啦2021年的求职确实迷幻,在学校选修+必修政策的加持下,大三上就肝完了所有的选修学分,留下潇洒的背影就上路春招。看了无数公司,最喜欢的还是两个地方:阿里巴巴星环|字节跳动春招字节提前批一波过了,人已经第二天报道了,阿里姗姗来迟,问要不要面试(笑死入职字节,但是却不是正统的研发部门,说走就走,3天拿了Momenta的offer,踏上半年自动驾驶的小车。小半年、算法、业务全都做了,虽然是自动驾驶里的并夕夕,但是收获还是颇丰,道.原创 2021-08-29 15:23:57 · 736 阅读 · 1 评论 -
简单聊聊联合索引
你真的了解联合索引吗?但凡准备过面试,都一定了解这样两个词,”联合索引,最左匹配”从一个问题开始这里先用前两天美团面试官的一个问题抛砖引玉一下吧面试官:联合索引了解吗,假设有表A,字段a,b,c,我建立一个索引abc,什么情况下可以使用这个索引?或者说,select * from A where 后跟什么条件可以使用这个索引?了解联合索引的你,马上就会脱口而出,a开头的条件,但是考虑到MySQL可以做优化,你随机补充道,包含a就可以使用!面试官:还有吗?空气凝滞,小丑竟是我自己。事实上,原创 2021-04-18 10:08:05 · 592 阅读 · 3 评论 -
无奈的春招,Momenta你好|春招面经整理
字节两面,Java后端实习字节跳动面试,两面+HR面,面试官很棒!面试体验还不错,饭特别香(自助,房补,工资,确实是福利这边最棒的公司)尤其是我的leader(同时是mentor)对我很不错(还是双胞胎闺女的爹,成功人士233)可惜后面一些原因,最后选择了换岗位,有缘再见吧美团两面,Java后端研发实习生美团这里特别可惜,进了字节跳槽,再去面试美团,但是春招的时间已经过了,HC没多少了,面试过程中的知识也有遗忘,总之状态不佳遇到时机不秒,有缘再见吧美团初试介绍一下你自己我:布拉布拉(他原创 2021-04-17 10:56:36 · 3329 阅读 · 9 评论 -
B树和B+树,到底有啥不一样
更多精彩,访问可乐可乐可:可乐可乐可的主页在几天前,我天真的以为,知道了B+树,也就是Mysql的树,就能顺利通关,没想到啊没想到,这两天连续问了我两次我的漏洞(另一个是消息队列)那么回到主题,B树是啥,B+树为啥是plus,这俩有啥区别嘞小学三年级就学过各种数据结构的我们,肯定会了解一个规律在大量数据的情况下,树的插入、删除、搜索效率相对其他数据结构更稳定。这也是数据库,Java中的HashMap使用树作为自己存储数据的数据结构的原因。如果你了解2-3树等数据结构,你会很轻松,当然没.原创 2021-03-31 17:02:25 · 298 阅读 · 0 评论 -
因为经费问题不得不使用JUC大法 | 限流降级队列
本文作者:可乐可乐可,作者个人主页:可乐可乐可的个人主页因为经费问题不得不使用限流降级队列亲儿子(学校自研的新系统)在进行细致的需求分析时,竟然有经费问题,导致我们使用的邮箱可能挂掉或者被限流,第n次因为经费问题流下泪水233。不过这也是自己的契机,当初用这个小轮子入了面试官的法眼(感谢面试官给机会,蟹蟹蟹蟹,需要字节跳动内推的可以私聊我哦)(想亲自体验被QQ邮箱封号吗,不会很严重,停一会儿就恢复了,下面是Spring Boot 的一个测试类,可以用他体验一下被封的感觉)import o.原创 2021-03-19 22:44:06 · 583 阅读 · 3 评论 -
字节跳动面试,两面+HR面,面试官很棒!
简单记一下,后面补全字节一面介绍一下自己上来就问反射HTTP与HTTPS,Full GC(这里我多扯了一些细节,他问Full GC的原因,这里没见过,直接说了不会)CORS跨域解决(名字我忘了,但是说了怎么操作Get与Post手写了个二分(Springboot,直接服务器能访问那种)反射:Java的类都有一个对象,可以通过Java的Api直接操作这个对象CORS,预请求(这个复习真没看到,是平常项目碰到的)面试官真的很不错,最后的算法题我本来想用get偷懒,被看见了,提示我用po.原创 2021-02-27 11:12:18 · 5044 阅读 · 8 评论 -
轻松理解AQS框架 |不会有人看了不懂吧
本文作者:可乐可乐可,博主个人主页:可乐可乐可的个人主页轻松理解AQS框架本文需要以下知识铺垫:Java、临界区、信号量、锁AQS(AbstractQueuedSynchronizer,抽象队列同步器)是Java中重入锁ReentrantLock、读写锁、信号量的实现基石。学会、了解AQS框架对了解Java锁有很大的帮助说的比唱的好听,AQS源码下来2k+行,这是人干的活吗?为了解决大家AQS不了解以及看了忘,忘了看的恶性循环,下面将带领大家从简到繁,一步步的学会AQS框架。本文.原创 2021-02-22 23:32:06 · 2777 阅读 · 10 评论 -
计算机网络篇 | 分层的协议架构
计算机网络篇 | 分层的协议架构说到计算机网络,大家肯定也会立马反应到我们小学三年级就学过的TCP/IP协议簇。TCP/IP协议簇为我们构建了计算机直接通信的一种模式。首先复习一下基础知识点我们首先看看计算机网络中的体系结构啊啊啊…好多层,好复杂,怎么记忆啊?作为一名光荣的理科生,就要从逻辑的角度来记忆。这三种体系是从简到繁的关系,每一层都细化了一些东西,我们只要记住这一层是做什么的,为什么在这一层,很轻松就能记住了。我们若访问一个网站,会经历大致这几个流程根据域名获得ip (原创 2021-02-21 12:31:45 · 2937 阅读 · 10 评论 -
Java字符串存储在哪里
早上看群友们在讨论,出现了Java字符串究竟在哪里的话题,粗略目睹虚拟机的菜鸡本人起了兴趣,研究了一下整理出来这个博文字符串究竟存在哪里这里总结了大家同意的说法:如果使用常量的方式,该对象将被存储在常量池(永久代)如果使用new的方式,该对象将被存储在堆下面的代码揭示了情况:使用常量的形式,为同一个对象使用new的方式,为不同的对象即使调用了常量创建的对象的方法,该对象也并不会发生什么变化:说明就是一个对象,而不是一组数组public class TestString { .原创 2020-09-18 13:29:29 · 6279 阅读 · 1 评论 -
轻松get JVM——Java运行时的数据区域
Java内存区域的那些事楼房之地基,知晓内存区域,才能知晓JVMJava的内存区域的管理是“全自动”的,每一个刚刚见识的人都会觉得神奇Java的自动管理内存,使得我们不需要操作释放内存的代码,不容易出现内存泄漏与溢出的现象。但是我们不得不提防,一旦出现了内存问题,知晓虚拟机的工作模式,才能排出错误。运行时数据区域这张图很重要,要熟记Java虚拟机在执行Java程序时,将其所管理的内存划分为若干个不同的数据区域,这些区域有各自的用途,以及创建和销毁时间,有的区域,随着虚拟机进程的启动而原创 2020-07-10 14:55:00 · 707 阅读 · 0 评论 -
轻松get JVM——垃圾收集器
对于上一篇所讲垃圾回收算法,是有专门的垃圾收集器实现算法的。JVM说到底还是规范,垃圾收集器品种也有很多。下面讨论几种使用较多的垃圾收集器使用 java -XX:+PrintCommandLineFlags -version来查看你所使用的垃圾收集器使用 java -XX:+PrintFlagsFinal -version 查看所有配置项本人现在的jdk版本为14,使用了G1垃圾收集器(JVM默认)在本文撰写时间,比较受关注、典型的垃圾收集器有这几种首先对这个图为不熟悉JVM的兄.原创 2020-07-29 14:35:19 · 349 阅读 · 0 评论 -
MySQL事务浅析|由浅入深
MySQL事务浅析|由浅入深很多人都在讲事务,事务是个啥,我感觉我没开事物也没什么事情啊,学事务有必要吗?今天照旧,本文在一开始将讲解一些入门适合理解的知识,在后面逐层加深,如果对事务有了解,希望知道细节,可以在下面的目录跳一下文章目录MySQL事务浅析|由浅入深事务是个啥?For Example1例子2 脏写例子3 脏读例子4 不可重复读例子5 幻读并发编程带来的数据库隐患通过对事务的分析,得到了四个特点 ACIDMySQL如何保证事务完好持久性的保证原子性的保证隔离性的保证|MVCCMVCC没错原创 2021-02-10 21:33:33 · 4537 阅读 · 21 评论 -
十分钟深入理解volatile
个人觉得JUC里面的东西比JVM还要玄,JUC中将引领我们用一种多线程的角度思考整体的程序,可以说是一种挑战吧。volatile,中文语义:不稳定的大家都应该了解这个常识吧!(不知道的一定要记好)Java中,若一个变量会被多个线程所使用,我们需要给这个变量加上volatile关键字。しかし!(但是)作为未来大厂高级电脑的附属品,我们必然不能只了解这个规则,更应该洞悉why,才能在未来的使用中,稳定起飞一、首先,volatile到底是个啥?Java语言规范第3版中对volatile的定义如下.原创 2021-01-27 16:25:28 · 1136 阅读 · 43 评论 -
Java内存模型基础篇
我们在这里简单复习一下操作系统中的缓存操作系统中的缓存情况为上图,操作系统将内存,缓存分为多个大小相等的块。然后根据缓存的数目依次指定内存块所对应的缓存块,在使用时,直接访问缓存,未命中则更新。但是操作系统的缓存有一个很关键的隐含信息:每个内存块只有一个缓存,一个缓存对应了多个内存。但是在Java内存模型中,情况却似乎反了过来,如下图Java内存模型在Java中,实例域、静态域和数组元素都存储在堆内存中,堆内存在线程之间共享(也就是共享变量局部变量,方法定义参数,异常处理参数不会在线原创 2021-01-27 11:29:46 · 317 阅读 · 0 评论 -
LeetCode974. 和可被 K 整除的子数组
先从简单开始仔细观察本题要求,如果使用暴力的解法,将导致超时(每一个开头,到每一个结尾枚举,再累加)总计是O(n³)当然,必然不可能轻轻松松使用暴力解决改进算法考虑到题目是列表的区间问题,可以尝试使用滑动窗口或前缀和的方法减少计算量若有经验,都能得知这两种方法一般可以把最坏时间降低一级也就是O(n²)先用滑动窗口我们固定左侧,让右侧移动,以此遍历所有的可能两层for,On方的时间复杂度class Solution { public int subarraysDivByK(in.原创 2021-01-26 23:41:20 · 384 阅读 · 1 评论 -
简要JUC常识概念总结
JUC常识概念基础概念1.同步与异步2.并发与并行3.临界区4.阻塞与非阻塞5.死锁、饥饿、活锁死锁饥饿活锁原子性可见性有序性不能指令重排的规则:**Happen-Before规则**并发级别阻塞无饥饿无障碍无锁无等待基础概念Created: Aug 6, 2020 8:45 PMTags: 临界区, 原子性、可见性、有序性, 同步异步, 并发并行, 死锁、饥饿、活锁1.同步与异步用来形容一次方法调用。同步的方法调用一旦开始,调用者必须等到方法调用返回后才能继续。异步调用类似消息传递,执行后原创 2021-01-26 19:04:51 · 605 阅读 · 0 评论 -
一个简单的Spring容器的初始化流程
首先我们初始化一个最简单的容器,用这个容器研究初始化的流程。下面就是一个再简单不过的IoC容器了,该容器包含了一个名为beanA的bean,我们初始化容器后,取出该Bean,并调用方法。public class BeanA { private String testStr = "Test"; public BeanA(){ System.out.println("Running A"); } public void sayHello(){原创 2021-01-21 23:43:46 · 744 阅读 · 4 评论 -
Spring可太牛啦|如何学Spring的源码
首先在文章的开头,我们需要再次明确一下Spring框架到底是个啥?Spring框架是一个读取、保存、使用Bean的容器Spring框架提供了依赖注入功能Spring框架提供了AOP动态代理功能。。。。。。自顶向下,关注当前的逻辑来学习Spring中包含了大量的模板方法设计模式,我们不妨顺着这个模板方法的思路从上向下进行分析,从大局到细枝末节。我们大可把Spring(这里不包括Web模块)拆分为几块:IoC容器的初始化Bean的实例化Application的支持AOP处理这四原创 2021-01-21 20:16:51 · 400 阅读 · 0 评论 -
自顶向下了解Spring容器结构
本文出自可怜人 可乐可乐可,更多精彩点击https://blog.youkuaiyun.com/weixin_44494373这张图,大致是Spring IoC容器中设计概况可以看到Spring将各个功能都划分成了一个接口,并去实现他,以此能降低耦合度、最大化达到重复利用的目的。用户实际使用的类是ApplicationContext,Spring通过一步步的继承关系,给ApplicationContext了处理IoC需求的功能。Spring正是围绕ApplicationContext和BeanFactory设.原创 2021-01-16 16:02:11 · 645 阅读 · 0 评论 -
浅谈Spring 架构|求求远古版本的别出来误导别人了
很久之前,Java的系统是使用企业级JavaBean(Enterprise JavaBean, EJB)进行开发的,EJB使用起来很为困难,Spring作为一款轻量级的框架,迅速替代了EJBEJB也是个神器,只见其影,未见其身。前些年,在网上各个面试题还有它的身影,现在估计很难见到了。EJB:Enterprise Java Beans,即:企业Java BeansSun公司发布的文档中对 EJB 的定义是:EJB 是用于开发和部署多层结构的、分布式的、面向对象的 Java 应用系统的跨平台的.原创 2021-01-16 13:06:01 · 280 阅读 · 0 评论 -
设计模式通关手册
为什么需要设计模式?作为一个优秀的程序员,所写出的代码必须具有这些特点:清晰易懂易于维护易于扩展高效简洁这几项在当今大规模的面向对象编程的程序中,必然离不开设计模式本文为设计模式知识点的整理复习,如果希望细细的品味设计模式,这里推荐一本书《Head First设计模式》如果你觉得贵(本人就买了一本,还是纸质书爽),这本书已经上传在鄙人的服务器供下载HeadFirst设计模式.pdf综合起来讲,大致有23种设计模式(其实大部分天天都在身边)将其分类为:创建型、行为型、结构型、复原创 2021-01-01 21:58:15 · 276 阅读 · 0 评论 -
单例模式为什么需要volatile关键字?
在单例模式中,为了保证效率的同时,保证线程安全,我们会了解这一段代码双重校验锁public class SingletonLazy { private volatile static SingletonLazy data; private SingletonLazy(){ System.out.println("初始化"); } public SingletonLazy getData() { if (data == null) {原创 2021-01-01 16:58:52 · 1309 阅读 · 4 评论 -
始动篇|春招所需要的知识点
春招着重考察应试者的基础能力,Java后端程序员,需要从这几个大块出发计算机网络、操作系统(简单的缓存、内存等)Java、JUC、JVMMySQL、RedisSpring、SpringMVC、SpringBoot自动装配原理下面的内容源自热心学长,有链接的为整理完成的文章感谢男神一、Mysql 相关知识1. 存储引擎InnoDB 和 MyISAM 的特性、区别、使用场景其它存储引擎的基本特性以及使用场景2. 事务事务的 ACID 特性脏读、不可重复读、幻读相关概念以原创 2020-12-30 22:06:23 · 745 阅读 · 1 评论