草庐IT

程序员面试中一面、二面、三面有什么区别?

很多公司面试都分一面、二面、三面甚至更多,大家可能会好奇,为什么要面这么多面,每一面又有啥区别呢?首先我来回答下为什么要这么多面,最核心的是最后3点:如果光是一个人面,担心会看走眼;面试通过最后的结果就是加入团队,那么要加入团长,怎么都得团队一些重要角色都同意吧,这些角色就对应1面、2面、3面。每一面侧重点不一样,这样考察也更为聚焦和全面。下面我根据腾讯、字节的经验,具体说一下每一面到底是怎样的。文末有福利记得查收一面一面是组长面,组长也就是你入职之后的顶头上司,入职了你就跟着他混。所以组长面通常是最为仔细的一面,一方便是好好把关之后再推给上面领导,避免浪费领导时间,一方面是如果招募的人不合适

华为二面:SpringBoot如何自定义Starter?

SpringBoot的自动配置机制为开发人员提供了一种轻松集成和配置各种功能的便捷方式。然而,随着项目的复杂性增加,更好地组织和分享通用功能变得至关重要。自定义Starter成为了理想的解决方案,旨在简化项目的依赖管理和自动配置,使开发者能够迅速而灵活地集成特定的功能模块。本文将深入探讨在SpringBoot中如何创建自定义Starter,为构建模块化且易维护的应用提供有力的支持。接下来我们来实现一个自定义的starter。实现自定义Starter首先,我们需要明确自定义starter的目标功能,如提供特定领域的服务或集成第三方库。比如我们创建一个coderacademy-spring-boo

字节二面:Spring Boot Redis 可重入分布式锁实现原理?

我是码哥,可以叫我靓仔。书接上回,码哥上一篇《纠正误区:这才是SpringBootRedis分布式锁的正确实现方式》分享了分布式锁如何从错误到残缺,再到青铜版本的高性能Redis分布式锁代码实战,让你一飞冲天。这是我们最常用的分布式锁方案,今天码哥给你来一个进阶。Chaya:「码哥,上次的分布式锁版本虽然好,但是不支持可重入获取锁,还差一点点意思。」Chaya别急,今日码哥给你带来一个高性能可重入Redis分布式锁解决方案,直捣黄龙,一笑破苍穹。什么是可重入锁当一个线程执行一段代码成功获取锁之后,继续执行时,又遇到加锁的代码,可重入性就就保证线程能继续执行,而不可重入就是需要等待锁释放之后,再

字节二面,原来我对自动化测试的理解太浅了

如果你入职一家新的公司,领导让你开展自动化测试,作为一个新人,你肯定会手忙脚乱,你会如何落地自动化测试呢?01什么是自动化有很多人做了很长时间的自动化但却连自动化的概念都不清楚,这样的人也是很悲哀,做这样的职业,却连最基本的概念都不清楚。我给大家列举出来如下(引自《软件评测师第69页》):自动化测试的定义:自动化测试就是通过测试工具或者其他手段,按照测试工程师的预定计划对软件产品进行的自动的测试,它是软件测试的一个重要组成部分,它能够完成许多手工无法完成或者难以实现的一些测试工作。正确、合理地实施自动化测试,能够快速、全面地对软件进行测试,从而提高软件质量,节省经费,缩短产品发布周期。如上就是

阿里后端实习二面

阿里后端实习二面记录面试题目,希望可以帮助到大家类加载的流程?类加载分为三个部分:加载、连接、初始化加载类的加载主要的职责为将.class文件的二进制字节流读入内存(JDK1.7及之前为JVM内存,JDK1.8及之后为本地内存),并在堆内存中为之创建Class对象,作为.class进入内存后的数据的访问入口。在这里只是读入二进制字节流,后续的验证阶段就是要拿二进制字节流来验证.class文件,验证通过,才会将.class文件转为运行时数据结构连接类的连接分为三个阶段:验证、准备、解析。验证:该阶段主要是为了保证加载进来的字节流符合JVM的规范,不会对JVM有安全性问题。其中有对元数据的验证,例

字节跳动软件测试面试记:二面被按地上血虐,所幸Offer已到手

在互联网做了几年之后,去大厂“镀镀金”是大部分人的首选。大厂不仅待遇高、福利好,更重要的是,它是对你专业能力的背书,大厂工作背景多少会给你的简历增加几分竞争力。但说实话,想进大厂还真没那么容易。最近面试字节,结果二面被吊打,不甘心的我整理了一份学习笔记,苦修60天,最后终于在4轮技术面+1轮HR面之后成功接到Offer!我是如何备战字节面试的?第一步:准备简历准备简历,并不是指可以在网络上下载一份简历模板,然后修修改改就可以使用了。简历的精心准备,需要注意三个要点:注意区分:了解,熟悉,精通,不要乱写,面试官很多问题都是根据简历描述来进行的;专业知识和项目经验在精不在多,尤其是项目经验一定要写

阿里二面:ThreadLocal内存泄露灵魂四问,人麻了!

ThreadLocal能够在线程本地存储对应的变量,从而有效的避免线程安全问题。但是使用ThreadLocal时,稍微不注意就有可能造成内存泄露的问题。那么ThreadLocal在哪些场景下会出现内存泄露?哪些场景下不会出现内存泄露?出现内存泄露的根本原因又是什么呢?如何真正避免内存泄露?这可能是你职业生涯中最具含金量的一次点击,点击【项目实战】查看详情,与冰河一起研发基于大厂真正核心技术的硬核项目。接下来,我们就用大量的图解来分析ThreadLocal内存泄露的四个核心问题:哪些场景不会内存泄露、哪些场景会内存泄露、内存泄露的根本原因是什么、以及如何真正避免内存泄露。一、ThreadLoca

阿里二面:双亲委派机制?原理?能打破吗?

话不多说,开搞。什么是双亲委派机制?1、理解概述双亲委派机制(ParentDelegationModel)是Java虚拟机(JVM)中的一种类加载机制。它是一种层次化的类加载器结构,通过委派给父类加载器来加载类,以保证类的唯一性和安全性。在Java中,每个类都需要在运行时被加载到内存中才能被使用。类加载器负责将类的字节码加载到内存中,并生成对应的Class对象。双亲委派机制是一种类加载器的工作方式,它通过一种层次化的结构来加载类,保证类的加载是有序、唯一且安全的。2、类加载过程类加载过程是将类的字节码加载到内存中,并生成对应的Class对象的过程。类加载过程主要包括以下几个步骤:加载(Load

微博二面:所有对象都一定被分配在堆中么?

什么是逃逸分析所谓逃逸,包括方法逃逸和线程逃逸,线程逃逸的逃逸程度高于方法逃逸(线程逃逸>方法逃逸):当一个对象在方法里面被定义后,它如果被外部方法所引用(例如作为调用参数传递到其他方法中),这种称为方法逃逸;可能被外部其他线程访问到,譬如赋值给可以在其他线程中访问的实例变量,这种称为线程逃逸;this引用逃逸就是一种线程逃逸:在构造器构造还未彻底完成前(即实例初始化阶段还未完成),将自身this引用向外抛出并被其他线程复制(访问)了该引用,那么其他线程就可能会访问到该还未被初始化的变量。举个例子:publicclassFinalReferenceEscapeTest{finalinti;st