阿里面试,有点焦虑。。
恭喜发现宝藏!搜索公众号【TechGuide】回复公司名,解锁更多新鲜好文和互联网大厂的笔经面经,目前已更新至美团、字节…
作者@TechGuide【全网同名】
聊聊春招
春招来了,有些24届校招生可能还在做最后的努力,有些25届的小伙伴可能想要找到一个大厂实习给简历镀金。我知道,面对即将来的笔试面试,许多同学可能感到压力山大,焦虑不安。但是请记住,焦虑是一种正常的情绪,更是一种可以被转化为动力的能量。那么,如何化解焦虑呢?那就是,行动起来!
不想听声哥唠叨的可以直接跳到面试题目的部分~
-
首先,让我们正视焦虑,而不是回避。对于校招的不确定性,我们可以通过更积极的准备来缓解焦虑。笔试可以把历年考过的编程题认真刷一刷,根据TechGuide四年多做笔试题的经验来看,很多大厂的真题库是重复考察的,比如华为、美团这些…,所以只要力扣基本过关,加上往年真题的积极练习,通过笔试和面试的手撕算法问题不大,甚至能直接碰到笔试原题。切记,不是刷越多题越好,而是要注重理解算法思想和解题方法。逐步提升自己的解题速度,这将在笔试和面试中帮助你游刃有余。
-
其次,交流和合作也是减轻焦虑的有效途径。在这个过程中,和同学们多交流、相互学习,共同进步。可以参加牛客小圈子、大厂校招群等等,与他人分享学习心得、讨论技术问题,这样能够拓宽自己的视野,收获更多的知识。记住,团队合作是我们未来职场中必不可少的能力,而从现在开始培养这个能力将对你未来的职业生涯大有裨益。
-
此外,项目实践也是提高竞争力的关键。多参加一些实验室课题/实习,哪怕是自己做一些github开源的项目,将理论知识应用到实际中。这不仅能够提升你的编程能力,更能在面试中让你更有底气地回答问题。这是一种能够让你对计算机专业有更深刻理解的方式,同时也会让你在面试中更具自信。
-
最重要的是,别忘了保持良好的心态。焦虑是人生旅途中的一部分,但它不应该成为我们前行的绊脚石。记住,每一次笔试面试的挫折和失败都是成长的过程,通过好好滴复盘,它们会让我们更加坚韧,更加勇敢。在面对校招的压力时,保持积极的心态,相信自己,你一定能够迎接所有的挑战,拿到满意的offer!
下面看下阿里云的三轮面经,好好地复盘模拟下吧~
基本情况
投递岗位:后端开发
投递部门:阿里云
招聘类型:暑期实习
Base地点:杭州
问题记录
一面(60 min)
电话面。一开始知道是电话面试,本来以为不需要写算法题的,谁知道最后感觉快结束的时候发了个链接过来让打开写Orz,所以一定要做足准备,不要心存侥幸哎。
- 自我介绍
- 项目简单介绍。大概说下做了哪些项目,项目的需求是什么,大概用到了哪些技术栈;
- Java相关:String为什么是不可变的?Java相关:String、StringBuffer和StringBuilder的区别?
- Java相关:在循环内使用“+”进行字符串拼接的话会有什么问题?
- JVM相关:堆空间的结构?分配策略有哪些?
- JVM相关:Minor GC和Full GC的区别?
- Linux相关:文件的概念?(可能是想让我指出Linux中所有内容都是以文件的形式保存和管理)
- Linux相关:文件有哪些类型?各自的作用是什么?
- Linux相关:inode的作用?inode包含哪些内容?给出一个文件名,Linux是如何根据该文件名打开文件的?(文件名->inode->block)文的访问时间是如何记录的?
- Linux相关:零拷贝是什么?用来解决什么问题?有哪些应用场景?实现方式有哪些?
- Linux相关:压缩和解压使用的命令?相关参数的作用?
- 网络相关:TCP 和 UDP 可以使用同一个端口吗?
- 网络相关:三次握手与四次挥手流程?TIME_WAIT出现在什么时候?要等待多久?(2MSL)为什么要等待这么久?
- 算法题:Leetcode15 三数之和
二面(75 min)
- 自我介绍;
- 项目介绍:参与了哪些项目,自己挑一个项目详细展开,介绍项目的创新点和难点,针对其中存在的问题有没有一些思考;
- 实习经历介绍:介绍下完成了哪些需求,业务流程,完成需求过程中遇到了哪些问题,如何解决的;
- Mysql相关:MyISAM和InnoDB的区别?(行级锁、事务、外键、崩溃后的安全恢复、MVCC、性能等)
- Mysql相关:索引的底层数据结构?为什么选择这样的结构?(B+树)
- Mysql相关:自己选择维度划分介绍有哪些索引类型?(按照底层存储方式角度划分:聚簇索引和非聚簇索引)
- Mysql相关:最左前缀匹配原则是什么?自己举例进行说明;
- Mysql相关:索引下推是什么?(在遍历过程中,对联合索引中包含的字段先做判断,直接过滤掉不满足条件的记录,减少回表次数)
- Mysql相关:事务隔离级别?InnoDB引擎的默认隔离级别?InnoDB引擎如何解决幻读?(读未提交、读已提交、可重复读、串行化)
- Mysql相关:你在项目中使用了哪些方式来对数据库查询进行优化?
- Spring相关:介绍下IoC和AOP?在项目中哪些地方有使用?(Mybatis)
- Spring相关:介绍下项目中和数据库有关的操作?在Spring中连接数据库进行数据插入操作时有哪些需要注意的地方?
- Spring中事务传播行为有哪些?你在项目中基于什么考虑使用的?(TransactionDefinition.PROPAGATION_REQUIRED、TransactionDefinition.PROPAGATION_REQUIRES_NEW、TransactionDefinition.PROPAGATION_NESTED);
- Spring相关:bean的生命周期?有哪些注入方式?(构造器、setter和属性注入)
- Spring相关:线程池有哪些核心参数?各自的作用?项目中如何使用的?(核心三参数:corePoolSize、maximumPoolSize和workQueue)
- 并发相关:进程、线程和协程的区别和作用?
- 并发相关:volatile关键字的作用?在保证线程安全的情况下实现单例对象的获取?(双重校验锁)
- 并发相关:synchronized关键字的作用?底层实现原理?和ReentrantLock的区别?锁升级及实现原理?(偏向锁->轻量级锁->重量级锁)
- Redis相关:有哪些持久化方式?AOF和RDB的底层实现原理?在项目中用的是哪种?基于什么考虑使用的?
- Redis相关:引入哨兵集之后,主从故障的转移过程?
- Redis相关:Redis是单线程吗?采用单线程为什么速度快?
- Redis相关:Redis阻塞的原因有哪些?出现阻塞后的排查以及解决方式?
- 算法题:Leetcode53 最大子数组和;
- 算法题:Leetcode146 LRU缓存。
二面开始针对项目和实习经历的追问开始变得多了起来,而且会在听你介绍的时候针对其中的一些点展开追问,这个过程中会涉及到八股文的提问。所以,在准备项目的过程中,一定要好好想想项目用到了哪些技术,相关的知识点最好都多看看,这些在面试中都是极有可能会问到的。二面开始,面试官会更加看重你在做项目过程中的一些思考,比如遇到问题的解决方式和一些反思总结。因此,除了八股文外,还应该多思考下自己项目的亮点,最好有一些别人没有的创新点,这样会很有优势。在介绍项目的时候也可以简单说说你通过项目学到了什么,有哪些总结思考,以此来展示自己的学习能力。
PS:本来是给的一道算法题,估计看我写的很快,问我是不是做过,回答是之后又给了一道Orz。也许做题速度也需要稍微控制控制hhhhh。
三面(50 min)
- 自我介绍;
- 项目相关:面试官挑了其中一个项目让介绍,主要是问了项目的技术栈、实现效果和创新点;
- 实习经历相关:概述一下完成了哪些具体需求,以及这些需求所涉及的业务流程。在实现这些需求的过程中,遇到了哪些挑战和困难?又是如何有效地解决这些问题的?具体的解决方案和应对策略。
- 场景题:不考虑系统限制,如何快速在大量字符串中统计出现次数前10的字符串?如果考虑内存限制,应该采取什么措施在海量数据中进行统计?
- 场景题:设计实现一个高可用、高并发的系统,讲讲有哪些需要注意的地方?对于突发的大流量有哪些处理方法?热点数据有哪些处理方法?
- Redis:刚刚场景题中用到了redis,为什么redis是单线程但速度依旧很快?
- 操作系统:介绍下IO多路复用?select、poll和epoll各自的区别?
- 操作系统:磁盘快照有了解吗?介绍下COW和ROW?
- 操作系统:进程、线程和协程各自的作用和区别?进程和线程的组成?
- 操作系统:CPU数量为1的进程执行死循环会发生什么?如何解决?
- 计算机网络:有哪些网络攻击方式?在项目中针对可能的网络攻击采取了哪些相应的防范措施?
- 计算机网络:cookie、session和token的区别?各自的使用场景?
- 数据库:项目中使用了NoSQL和MySQL,说说NoSQL和关系数据库的区别?
- 其他:最近在看什么书?有哪些收获?
- 其他:大学以来最有成就感的一件事?
- 其他:有多家公司的offer根据什么标准进行选择权衡?
三面没有算法题,相比一面二面主要增加了场景题的询问。在整个面试过程中,感觉面试官比较看重个人的思考,比如场景题中你说了一种设计思路,面试官会问你觉得目前的设计还有没有可以提升的地方,这种时候即使回答的不是标准答案,面试官也很高兴地会和你进行探讨。此外,一些其他问题也会在三面和后续的hr面多起来,这些也可以稍微准备准备。
相关文章:
阿里面试,有点焦虑。。
恭喜发现宝藏!搜索公众号【TechGuide】回复公司名,解锁更多新鲜好文和互联网大厂的笔经面经,目前已更新至美团、字节… 作者TechGuide【全网同名】 聊聊春招 春招来了,有些24届校招生可能还在做最后的努力,有些25届的…...
24计算机考研调剂 | 石家庄铁道大学
01石家庄铁道大学 智慧交通研究室招少量调剂学术型硕士(数一英一320分以上工科专业) 考研调剂招生信息 学校:石家庄铁道大学 专业:工学->计算机科学与技术->计算机应用技术 工学->测绘科学与技术->地图制图学与地理信息工程 工学->交…...
勇敢尝鲜之Springboot3大坑-集成Mybatisplus报错:ddlApplicationRunner
🌹作者主页:青花锁 🌹简介:Java领域优质创作者🏆、Java微服务架构公号作者😄 🌹简历模板、学习资料、面试题库、技术互助 🌹文末获取联系方式 📝 往期热门专栏回顾 专栏…...
linux高级编程:线程(二)、进程间的通信方式
线程: 回顾线程(一): 1.线程间通信问题 线程间共享同一个资源(临界资源) 互斥: 排他性访问 linux系统 -- 提供了Posix标准的函数库 -- 互斥量(互斥锁) 原子操作&#x…...
Unity 佳能SDK 及数据获取
1. 填写信息跟官方申请SDK,大概1-2个工作日会邮件回复你 佳能(中国)- 佳定制(佳能影像产品),SDK,EDSDK,CCAPI,软件开发包下载 2. 将SDK这两个文件放到 Unity Plugins文件夹 3. 把CameraControl 下面只要是绿色的 .cs 文件都复制到Unity 中...
Unity(第二十三部)导航
你可以使用 unity官方提供的 unity导航组件或第三方 unity导航组件,以实现游戏中角色或其他物体的导航。 unity导航组件通常具有多种导航模式,如飞行模式、步行模式、车辆模式等,可以根据不同的需求选择合适的模式。同时,unity导…...
根据建表sql语句生成go的struct代码工具
sql2struct 一个根据"CREATE TABLE"建表语句生成对应的Go语言结构体的工具,暂只支持 MySQL 表。 开发目的 在 github 中找到一些 sql2struct,但要么是 chrome 插件,要么是在线工具,要么是需要连接 MySQL,…...
Qt 自定义长条进度条(类似播放器进度条)
1.运行界面 2.步骤 其实很简单。 2.1绘制底图圆角矩形 2.2绘制播放进度圆角矩形 参考:painter绘图 3.源码 #pragma once#include <QWidget> #include <QLabel> #include <QHBoxLayout> #include <QMouseEvent> #include <QDebug&g…...
休息日的思考与额外题——双指针、原地哈希day28
文章目录 前言一、11. 盛最多水的容器二、41. 缺失的第一个正数三、42. 接雨水总结 前言 一个本硕双非的小菜鸡,备战24年秋招,计划二刷完卡子哥的刷题计划,加油! 二刷决定精刷了,于是参加了卡子哥的刷题班,…...
数据修改
Oracle 目录 数据修改 将员工编号的 7369 的员工工资修改为 810,佣金改为 100 将工资最低的员工工资修改为公司的平均工资 将所有在 1981 年雇佣的员工的雇佣日期修改为今天,工资增长 20% 数据的更新操作 Oracle从入门到总裁:https://blog.csdn.n…...
Android JNI复杂用法,回调,C++中调用Java方法
Android JNI复杂用法,回调,C中调用Java方法 一、前言 Android JNI的 普通用法估计很多人都会,但是C中调用Java方法很多人不熟悉,并且网上很多介绍都是片段的。 虽然C/C调用Java不常用,但是掌握多一点还是有好处的。…...
C++从零开始的打怪升级之路(day41)
这是关于一个普通双非本科大一学生的C的学习记录贴 在此前,我学了一点点C语言还有简单的数据结构,如果有小伙伴想和我一起学习的,可以私信我交流分享学习资料 那么开启正题 今天分享的是关于继承的知识点 1.派生类的默认成员函数 首先我…...
uni-app app实现web-view H5图片长按下载
问题和使用场景描述: uniapp app web-view中图片无法长按保存,IOS下是正常的,但是Android下长按无反应 解决方案: 下载mui.min.js,放到项目中的static下(下载见最上面的压缩包) 在static目录下新建script.js mui.…...
全量知识系统问题及SmartChat给出的答复 之5
Q15. 支持前端(知识表征)的自然语言能力 需要一个 元语言注释工具 以及两个库(叙词库和语料库)和主题词表。请 1)设计 两个库和主题词表的结构 ,2)分别设计它们的接口,3)通过调用它们…...
DolphinScheduler——工作流实例的生命周期
目录 一、DolphinScheduler架构原理 1.1 系统架构图 1.2 DolphinScheduler核心概念 1.2 创建工作流 1.2.1 如何触发一个工作流实例 1.2.2 任务调度链路监控 1.2.3 Workflow-DAG解析 DAG解析 Dispatch分发流程 Master和Worker的交互过程 1.3 任务运行状态 该篇文章主…...
阻塞和非阻塞网络io有什么区别,分别有哪些应用场景?
阻塞(Blocking)和非阻塞(Non-blocking)网络I/O是两种不同的I/O模型,它们在处理I/O操作时的行为和特点有所不同。 阻塞式网络I/O(Blocking I/O): 在阻塞式网络I/O中,当应…...
面试数据库篇(mysql)- 12分库分表
拆分策略 垂直分库 垂直分库:以表为依据,根据业务将不同表拆分到不同库中。 特点: 按业务对数据分级管理、维护、监控、扩展在高并发下,提高磁盘IO和数据量连接数垂直分表:以字段为依据,根据字段属性将不同字段拆分到不同表中。 特点: 1,冷热数据分离 2,减少IO过渡争…...
LaTeX中的多行数学公式
目录 参考链接 一、gather以及gather*环境编排公式 1、 gather环境 2、 gather*环境 3、 阻止编号 二、align以及align*环境设定公式对齐方式 1、align环境 2、align*环境 三、split环境实现一个公式多行排版 四、cases环境实现分段函数 参考链接 LaTeX中的多行数学…...
绕过5秒盾Cloudflare和DDoS-GUARD
绕过5秒盾Cloudflare和DDoS-GUARD 5秒盾的特点免费版5秒盾的绕过方法付费版5秒盾的绕过方法 5秒盾的特点 <title>Just a moment...</title>例如: <!DOCTYPE html><html lang"en-US"><head><title>Just a moment...</title&…...
react 原理揭秘
1.目标 A. 能够知道setState()更新数据是异步的 B. 能够知道JSX语法的转化过程 C. 能够说出React组件的更新机制 D. 能够对组件进行性能优化 E. 能够说出虚拟DOM和Diff算法 2.目录 A. setState()的说明 B. JSX语法的转化过程 C. 组件更新机制 D. 组件性能优化 E. 虚拟DOM和D…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器
——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的一体化测试平台,覆盖应用全生命周期测试需求,主要提供五大核心能力: 测试类型检测目标关键指标功能体验基…...
Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)
目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...
关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
STM32F4基本定时器使用和原理详解
STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...
【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)
骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...
(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)
引言 在人工智能飞速发展的今天,大语言模型(Large Language Models, LLMs)已成为技术领域的焦点。从智能写作到代码生成,LLM 的应用场景不断扩展,深刻改变了我们的工作和生活方式。然而,理解这些模型的内部…...
