双非本,拿到美团测开实习了——经验分享

前言

最近是春招、暑期实习的高峰期,自己也凭借着持续的准备和一部分运气,较早拿到了美团的测开暑期实习。

以前接到美团的短信,都是外卖送达的通知,没想到自己有一天,也能收到offer录用的通知。虽然是测试开发的岗位,比很多大佬差远了,但还是心怀感激。

这篇文章,主要会分享自己的学习历程和心得,包括如何准备算法、八股、项目,以及投递测开需要注意哪些

也包括一些面试的相关经验,希望能帮助你在面试中游刃有余、愈战愈强。

希望这篇文章能给正在求职战场上厮杀的勇士们,带来些许帮助

背景

双非本科,软件工程专业,无实习经历,几个小比赛省奖

3.1投递美团,3.9笔试,3.20一面,3.22二面

投递的第一家大厂就是美团,当时的算法、八股的准备情况可能只有50、60%,在不完全准备充分的情况下就直接投递,并且以测试开发岗位为第一志愿,后端开发为第二志愿。

为什么我在没准备好的情况下就投递简历?

包括很多人都有这个困惑:自己还没准备充分能不能去投递简历,投了害怕面的很糟糕,不投害怕后面坑位越来越少。大厂投递简历,到笔试,再到约面是一有段较长的时间间隔,所以不要觉得自己还没有准备好就害怕投递简历,准备的七八成就可以投递简历了,而不是非要面面俱到才去投递。并且尽早的面试也能帮助你发现问题,检验成果。不逼自己一把,怎么知道自己行不行

学习经验分享

算法

经验分享

重要性

对于中大厂,无论是笔试还是面试,算法都是必不可少的环节,甚至有着一票否决权,一般放在面试的最后环节,一般只出一道。尽管前面的八股、项目回答的再好,如果算法没有做出来,可能还是要凉凉。当然,如果你在前面的环节表现得比较好,面试官就有可能会出一道相对比较容易的题目,而不会在算法题上为难你。

对于有些中小厂,并不会在面试中考察算法,如果你的目标没那么高,也可以不刷算法题。

对于算法题的准备,当然是以leetcode刷题为主,并且题量大概要到200往上,才有能力对付面试。

刷题顺序

刷题的顺序一般按照“代码随想录”题单来刷,并且要刷两到三遍,之后再去刷“leetcode hot100”题单;或者二刷三刷时结合hot100来刷

刷题tips

刷题这里我自己也有个小tips:

  • 刷题比较好的方法,是用自己的话梳理总结题目的思路,并做好笔记。做笔记一方面是能帮助自己梳理思路,方便后续复习,另一方面是面试过程中可能需要讲解自己的思路

  • 在二刷代码随想录的时候,可以结合着codetop网站,去查看这道题的出题频率,能帮助自己对这道题在面试中的考察频率有个认识,并且在codetop题目的评论区中可能也会提到这道题需要掌握哪些解法、达到怎样的复杂度、以及相关的变形题目

  • 在面试前,可以去刷一下上面的高频题目,以及对应公司考察过的题目

  • 对于时间比较充足的同学,还是建议把题量刷上去。如果题量太少,在面试的过程中可能会出现一些简单题,但你又没有刷过,当场想的话又比较困难和紧张(亲身教训)

  • 面试的话,可能出现核心代码模式,也可能出现ACM模式。比如美团的面试就是在牛客网上进行,出的算法题使用的是核心代码模式;ACM模式其实也不难,主要是需要掌握不同数据格式的输入输出,可以在代码随想录的网站上进行练习。

刷题心态

大家背过单词都知道,明明昨天才背了abandon,过几天可能就想不起来单词怎么拼了

刷题也是一样,需要反复的刷,刷了忘,忘了刷,是一个长期积累的过程

所以,调整好心态,不会的题、忘了的题,反复刷、每天刷。

刷题历程

我自己是在大二上的时候就开始尝试刷题,但由于白天基本满课,所以都是睡前刷题的。但在睡觉前刷题都有个坏处,那就是会有些疲惫,以及着急上床休息,所以会导致刷题草草了事,效率低下。所以很难坚持每天刷题,过了几个月就放弃了。

所以,一定要根据个人的情况,选择效率较高的时间段刷题,比如有的人白天刷题效率高,有的人是晚上,也有的人是下午。

开始比较系统刷题是在进入大三的暑假,但其实也是比较断断续续。自己在这算法这方面确实还是比较薄弱,应当继续加强

八股

经验分享

八股的话主要分计算机基础和语言相关,计算机基础中大厂考察的比较多,包括计算机网络、操作系统、数据结构

语言方面以Java为例,主要是看JavaGuide的网站,一些Java基础知识、集合、框架的知识上面都有

计算机基础知识、数据库相关的八股,小林coding的网站还是很给力的。

当然对于这些常见的面试问题,我自己也有做了大量的笔记。这些问题和回答,都是根据个人的语言梳理总结出来的,并且每一部分都会有对应的资料进行补充,帮助更好的理解问题本身、以及相关知识点。除此以外,回答也会更加的精简,不会罗里吧嗦,更快get到重点。因为面试官听你的回答,就是听那几个关键字和重点,只要重点提到了,怎么表述就是你自己的事了。

八股的优先级

根据个人理解以及面试经验,我认为八股的优先级是这样的,当然仅供参考,不同公司可能重点不一样

MySQL > 语言 >= 计算机网络 > 操作系统 >= 数据结构

学习八股的正确姿势

  • 面对一个问题,如果你之前有过些许基础,但不知道如何回答、从哪些角度回答,那么就可以参考我的笔记,总结成自己的回答

  • 面对一个问题,如果你之前没有了解过,那么建议阅读资料中推荐的文章、google搜索相关的文章来了解背景,最后再参考我的回答,梳理总结成自己的回答

  • 通过阅读资料,潜移默化的形成自己的理解,以此为基础上再去记忆,会记得更牢。并且通过阅读不同的资料,能够发现不同资料之间是有所交集的,也能清楚哪些地方是重点,被反复提及

这些个人笔记都放到了我的公众号“宏夏coding”,有需要的可以自取,后续也会上线到个人网站上,大家可以先关注一手,说不定以后有所帮助~

项目

项目我觉得是大家比较头疼的一个问题了。大多数人在学校里哪有机会接触到真实的企业项目、实验室项目,更多的肯定是网上的学习项目。

所以是网上的项目不要紧,更重要的是如何去对项目进行修饰和准备。

如何修饰和准备项目

  • 如果你学习过新的技术点,可以尝试把它添加到项目上,比如学过SpingAOP,那么就可以在项目上实现它,比如使用AOP记录日志,又比如学习过Spring的安全框架,也可以在项目上进行一个实现。尽量动手实现,也能发现过程中存在的问题。如果无法动手实现,也要通过google搜索相关的实现方式、以及可能会遇到的问题,做到充分的准备。如果你做过比较多的项目,多个项目的功能点,也可以整合到一个项目上,让一个项目更为丰富和充实

  • 在做项目的过程中,也要思考哪些地方是重难点,是可以写到简历上的,及时记录下来,而不是傻傻跟着做完项目了,等到要写到简历上了,才去挖掘项目的亮点和重难点。除此以外,这些重难点可能在面试官面前不值一提,更重要的是要体现出你的思考过程,如何解决问题、如何比较和选择方案。也就是多问自己为什么

    比如你项目使用到了缓存,简历上写了“对热点数据添加缓存,针对可能的缓存穿透,使用缓存空对象和布隆过滤器解决”,那么你就可能需要针对以下问题做准备:

    为什么使用缓存?

    使用Redis做缓存为什么快?(这时你就要去google为什么Redis能更快处理请求,和MySQL的区别在哪里)

    如何对数据缓存、用了什么数据结构、为什么不用其他数据结构?(这时候你就要清楚Redis有哪些数据结构,使用场景是什么,对它们进行一个比较)

    如何解决缓存穿透、解决的方式有哪些、为什么用这个方案而不用那个方案?(同样的道理,对多个方案进行比较,分析优势劣势)

  • 对于网上的项目,在写到简历上时,你可以给他换个名字,甚至换个类型。比如黑马点评,主要是对店铺优惠券的秒杀,那你可不可以把它替换成对课程优惠券的秒杀呢,类型能不能替换成某某学习平台呢,名称不要局限于某某点评,把思路打开。

测开

大厂的测开问的问题和后端差不多,也会问语言相关的、MySQL、计算机网络、项目等等

区别的话可能会问一些测试相关的问题,比如:

  • 对测试开发的理解

  • 为什么投测开

  • 如何对某某功能设计测试用例(比如微信朋友圈点赞、微信转账等等)

  • 你做测试开发有什么优势吗

  • 你认为测开需要哪些能力(需要具备哪些核心竞争力)

所以在面试测开前,这些问题要提前准备,也要提前了解相关的测开知识。这些问题如果你不知道怎么回答,可以参考我的回答

面试经验

提前准备,反复练习

机会是留给有准备的人,可能有些人觉得自己的学历太差或者怎么样,才导致没有面试机会。但当机会真正给到你的时候,你真的把握得住吗?

对于八股的回答、自我介绍、项目介绍、面试问题,都需要经过提前的准备,并且通过动嘴讲述的方式来不断练习。在讲述的过程中,你可能发现有些地方忘了,有些地方还不太理解,有些地方讲的磕磕巴巴,发现问题,才能解决问题。

比如拿我自己举例,在第一次面试的时候就被面试官问到:你觉得你的优点和缺点是什么?你会不会有压力大的时候,如何解决?因为没有提前对这些问题进行一个准备,结果现场回答的时候一塌糊涂,比如我当时回答“期末阶段课程压力会比较大”,但面试官就可能就觉得你平常都不上课、不学习、爱玩游戏,到期末的时候才手忙脚乱的学习,才导致的压力比较大,所以应该想或者编一个更好的回答。

所以,针对这些问题,需要提前做出思考和准备。

  • 对我们公司有没有什么了解

  • 对未来的规划

  • 会不会有压力大的时候,如何解决

  • 经历过最大的挫折

  • 取得最大的成就

  • 优点、缺点

  • 性格关键字

  • 有没有团队合作,发生分歧怎么解决

  • 如果在工作中给他人分配任务,有人不愿执行如何解决

  • 反问

这些问题未必是hr面才会出现,有些可能一面、二面就会聊到,如果你提前思考提前准备,那就是一招吃遍天下鲜

自我介绍,学会引导

自我介绍作为开场白,其实还是比较重要的,并且有可能引导面试官接下来的提问

那自我介绍通常都说些什么,如何进行引导?

这个其实没有固定的答案,因人而异,但可以围绕个人信息、比赛获奖、学习情况、项目收获几个方面去说,比如我的自我介绍是这样的:

“面试官你好,我叫宏夏,来自哔哩哔哩大学,软件工程专业。在校期间有参与一些比赛,包括二次元大赛、cosplay大赛、鬼畜大赛,并取得了一定的名次,收获和成长最大的是cosplay大赛(重点提到了某某比赛,面试官可能就因此提问,比赛的内容,收获了什么)。自己学习和使用叽里呱啦语言已经有两年的时间了,也做过几个项目,其中收获最大的是这个达拉崩吧项目(如果有多个项目,重点提到了这个项目,面试官可能就会问)。在自己平常的学习过程中,也比较喜欢阅读一些技术文章和书籍,比如《如何获取女人的芳心》、《线性代数》(往你熟悉的知识点引导,比如你熟悉mysql就说相关的书籍,熟悉网络就说网络相关的书籍),也会梳理总结成博客发布,目前累计有超过1个亿的访问量。(或者说自己github有什么开源项目,收获了1个亿的star)”

学费了木有,要个一键三连不过分吧哈哈

不懂就问,避免内耗

在面试的过程中,特别是需要手撕算法题或者sql题,如果你经过尝试后觉得自己真做不出来了,就及时和面试官沟通,表达自己的思路后看看是否能寻求面试官的思路,或者询问面试官能否换题,面试官人比较好的话,是有可能给你提示思路,或者换题的。

最忌讳的是什么,你明明知道自己做不出来了,却在那死磕,把时间耗在那里,你不主动开口那就只能面试官等的不耐烦了先开口,然后留下极差的印象。所以,寻求帮助也是一种智慧。

录音复盘,持续升级

录音复盘我觉得是面试的基本常识了,所以不展开讲了。录音转化成文字可以使用通忆听悟、飞书妙计等一些工具来自动转换。

最后

其实在实习招聘开始之前,自己已经做好了最坏的打算:

可能投递了几百次简历,却依然没有面试机会

可能在一次又一次的笔试中,质疑自己的能力

可能每天都在八股、算法、项目的反复循环中,疲惫到不行

可能在看到别人一次又一次斩获offer时,对自己的未来充满了迷茫和焦虑

每个人都会感到迷茫和焦虑,自己也不例外

有时候经常会怀疑自己正在坚持的,是否会有意义,还是听天由命,随便找个班上得了。

但很庆幸,自己还是坚持下来了,当机会真正出现在面前的时候,之前所坚持的、所做出的努力,都不会白费

我是这样告诉我自己的,也将这段话送给你:

即使身处黑暗,也不丧失向上生长的勇气和决心,重要的不是自己何时盛开,而是不断从土壤汲取养分,当哪天阳光真的照射进来,才有足够的养分向上生长、开花结果。

最后,希望这篇文章对你有所帮助,如果有任何的问题,也欢迎通过公众号“宏夏coding”向我私聊,我也会尽我所能为你提供帮助!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/501431.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

考研数学|《1800》+《660》精华搭配混合用(经验分享)

肯定不行,考研数学哪有这么容易的! 先说说这两本习题册,李永乐老师推出的新版660题,相较于18年前的版本,难度略有降低,更加适合初学者。因此,对于处于基础阶段的学习者来说,新版660…

2、Cocos Creator 下载安装

Cocos Creator 从 v2.3.2 开始接入了全新的 Dashboard 系统,能够同时对多版本引擎和项目进行统一升级和管理!Cocos Dashboard 将做为 Creator 各引擎统一的下载器和启动入口,方便升级和管理多个版本的 Creator。还集成了统一的项目管理及创建…

算法之并查集

并查集(Union-find Data Structure)是一种树型的数据结构。它的特点是由子结点找到父亲结点,用于处理一些不交集(Disjoint Sets)的合并及查询问题。 Find:确定元素属于哪一个子集。它可以被用来确定两个元…

2024年AI大模型基础设施栈市场地图

2024年大模型(LLM)基础架构的组件和工具,最近看到国外的一篇深度分析,技术负责人可以重点关注:附带图谱: 一、现代LLM基础设施栈定义 根据Menlo Ventures的数据,2023年企业在现代AI基础设施栈上的支出超过11亿美元,成为生成式AI中最大的新市场,为初创企业提供了巨大的…

[OpenCV学习笔记]Qt+OpenCV实现图像灰度反转、对数变换和伽马变换

目录 1、介绍1.1 灰度反转1.2 图像对数变换1.3 图像伽马变换 2、效果图3、代码实现4、源码展示 1、介绍 1.1 灰度反转 灰度反转是一种线性变换,是将某个范围的灰度值映射到另一个范围内,一般是通过灰度的对调,突出想要查看的灰度区间。 S …

基于Springboot旅游网站管理系统设计和实现

基于Springboot旅游网站管理系统设计和实现 博主介绍:多年java开发经验,专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐留言 文末获取源码联系…

下拉选中搜索angularjs-dropdown-multiselect.js

需要引入angularjs-dropdown-multiselect.js 页面 <div ng-dropdown-multiselect"" options"supplierList_data" selected-model"supplierList_select" events"changSelValue_supplierList" extra-settings"mucommonsetti…

python中pow()函数的使用

在Python中&#xff0c;pow() 函数用于计算指定数字的幂。它的语法如下&#xff1a; pow(x, y) 这个函数返回 x 的 y 次方。相当于 x**y。 pow() 函数也可以接受一个可选的第三个参数&#xff0c;用于指定一个取模值&#xff0c;即计算结果与该模值的余数。其语法如下&#…

ping的基础指令

-t Ping 指定的主机&#xff0c;直到停止。 若要查看统计信息并继续操作&#xff0c;请键入 CtrlBreak&#xff1b; 若要停止&#xff0c;请键入 CtrlC。 -a 将地址解析为主机名。 -n count 要发送的回显请求数。 -l size 发送缓冲…

[已解决]Vue3+Element-plus使用el-dialog对话框无法显示

文章目录 问题发现原因分析解决方法 问题发现 点击按钮&#xff0c;没有想要的弹框 代码如下 修改 el-dialog到body中&#xff0c;还是不能显示 原因分析 使用devtool中vue工具进行查看组件结构 原因在于&#xff0c;在一个局部组件(Detail->ElTabPane->…)中使用…

动态规划相关题目

文章目录 1.动态规划理论基础2.斐波那契数3.爬楼梯4.使用最小花费爬楼梯5.不同路径6.不同路径 II7. 整数拆分8. 不同的二叉搜索树 1.动态规划理论基础 1.1 什么是动态规划? 动态规划&#xff0c;英文&#xff1a;Dynamic Programming&#xff0c;简称DP&#xff0c;如果某一…

c语言中的联合体和枚举

这篇文章总结一下c语言中的联合体和枚举。看看这两个东西到底是什么。大家一起学习。 文章目录 一、联合体1.联合体类型的声明。2.联合体的大小。3.相同成员的结构体和联合体对比4.联合体大小的计算。 二、枚举类型1.枚举类型的声明。2.枚举类型的优点。枚举类型的使用。 一、联…

gitee规范团队 代码提交

1.团队开会规范 使用 插件 &#xff1a; git Commit Message Helper 插件进行代码提交前规范 2.gitee代码仓库断控制&#xff0c;上面只是规范了程序员开发端&#xff1b;但是gitee也要管理控制&#xff1b;正则根据每个公司的不同来进行。

民航电子数据库:CAEMigrator迁移数据库时总是卡死

目录 一、场景二、异常情况三、排查四、应急方案 一、场景 1、对接民航电子数据库 2、将mysql数据库迁移到cae数据库 3、使用CAEMigrator迁移工具进行数据库迁移时&#xff0c;该工具会卡死&#xff08;不清楚是否是部署cae服务的服务器资源导致&#xff09; 二、异常情况 …

iOS - Runloop介绍

文章目录 iOS - Runloop介绍1. 简介1.1 顾名思义1.2. 应用范畴1.3. 如果没有runloop1.4. 如果有了runloop 2. Runloop对象3. Runloop与线程4. 获取Runloop对象4.1 Foundation4.2 Core Foundation4.3 示例 5. Runloop相关的类5.1 Core Foundation中关于RunLoop的5个类5.2 CFRunL…

报错[Vue warn]: $listeners is readonly. $attrs is readonly.怎么解决?

代码也没有逻辑错误&#xff0c;但是报错 [Vue warn]: $listeners is readonly. $attrs is readonly. 情况1&#xff1a;多处声明了new Vue&#xff0c;解决方案&#xff1a;删除一个&#xff0c;用全局变量引用同一个Vue 情况2&#xff1a;import Vue from Vue;第二个Vue首字…

跳跃游戏-java

题目描述: 给你一个非负整数数组 nums &#xff0c;你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度 判断你是否能够到达最后一个下标&#xff0c;如果可以&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 解题思想: …

蓝桥OJ 3500阶乘求和(找规律)

阶乘求和 做这道题两个循环到202320232023肯定会超时间。 但是可以发现算到将近40的阶乘时&#xff0c;后9位的答案就已经可以确定了。 #include<bits/stdc.h> using namespace std; using ll long long; const ll p 1e9; int main() {ll res 0;for (int i 1; i &l…

真实sql注入以及小xss--BurpSuite联动sqlmap篇

前几天漏洞检测的时候无意发现一个sql注入 首先我先去网站的robots.txt去看了看无意间发现很多资产 而我意外发现admin就是后台 之后我通过基础的万能账号密码测试or ‘1‘’1也根本没有效果 而当我注入列的时候情况出现了 出现了报错&#xff0c;有报错必有注入点 因此我…