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

前言

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

以前接到美团的短信,都是外卖送达的通知,没想到自己有一天,也能收到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”向我私聊,我也会尽我所能为你提供帮助!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【详细讲解语言模型的原理、实战与评估】

🌈个人主页:程序员不想敲代码啊🌈 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家🏆 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提…

使用PopLDdecay软件绘制LD衰减图

前记 PopLDdecay是一款用于进行种群遗传学和关联分析的软件。它可以在全基因组水平上进行基因型数据的相关性和衰减分析,帮助研究人员探索种群间的遗传差异和突变选择的模式。 使用PopLDdecay可以实现以下功能: 遗传距离的计算:可以计算遗…

关于Anaconda通过environment.yml配置环境的常见问题解决办法

配环境总是一个老生常谈的问题,有些项目写得好的,会把一些冗余的包删除,只留下必要的包,并且手把手教你pip安装,但是有些项目就直接丢一个200~300行的environment.yaml文件或者requirement.txt文件让你自己去配&#x…

C++之类和对象的中篇

𝙉𝙞𝙘𝙚!!👏🏻‧✧̣̥̇‧✦👏🏻‧✧̣̥̇‧✦ 👏🏻‧✧̣̥̇:Solitary_walk ⸝⋆ ━━━┓ - 个性标签 - :来于“云”的“羽球人”。…

代码随想录——删除有序数组中的重复项(Leetcode26)

题目链接 双指针思想&#xff0c;和上一篇Leetcode27类似 class Solution {public int removeDuplicates(int[] nums) {int slow 0;for(int fast 1; fast < nums.length; fast){if(nums[fast] ! nums[slow]){nums[slow] nums[fast];}}return slow 1;} }

基于Arduino IDE 野火ESP8266模块 JSON数据格式处理

一、库文件 ArduinoJSON 可以使用 ArduinoJSON库 来解析和处理JSON数据。 二、JSON数据 序列化 Serialization 序列化&#xff08;serialization&#xff09;&#xff1a; 序列化是将数据结构或对象状态转换为可存储或传输的格式。 测试代码&#xff1a; #include <Ardu…

【并发编程】线程的基础概念

一、基础概念 1.1 进程与线程A 什么是进程&#xff1f; 进程是指运行中的程序。 比如我们使用钉钉&#xff0c;浏览器&#xff0c;需要启动这个程序&#xff0c;操作系统会给这个程序分配一定的资源&#xff08;占用内存资源&#xff09;。 什么线程&#xff1f; 线程是CP…

如何批量给照片添加圆角?为什么要给照片添加圆角?

公司在对外宣传过程中&#xff0c;往往要要求图片修成圆角。比如在网上公司&#xff0c;就下达过这样的任务&#xff0c;在短时间内将公司所有的物品图片都修成圆角。遇到这种情况哪怕是用专业的PS工具&#xff0c;解决这个问题也是非常麻烦的。那么图片怎么修成圆角又快又高效…

linux离线安装maven

一、下载maven 地址&#xff1a;Maven – Download Apache Maven 使用root权限用户登录服务器 cd /opt sudo mkdir maven cd maven 二、上传maven 使用Xftp工具 三、解压并配置环境变量 tar -zxvf tar -zxvf apache-maven-3.9.6-bin.tar.gz cd apache-maven-3.9.6/ 看到解压…

【Hadoop大数据技术】——Hive数据仓库(学习笔记)

&#x1f4d6; 前言&#xff1a; Hive起源于Facebook&#xff0c;Facebook公司有着大量的日志数据&#xff0c;而Hadoop是实现了MapReduce模式开源的分布式并行计算的框架&#xff0c;可轻松处理大规模数据。然而MapReduce程序对熟悉Java语言的工程师来说容易开发&#xff0c;但…

【CKA模拟题】综合案例演示如何创建pv和pvc

Useful Resources: Persistent Volumes & Claim 题干 For this question, please set this context (In exam, diff cluster name) kubectl config use-context kubernetes-adminkubernetesCreate a PersistentVolume (PV) and a PersistentVolumeClaim (PVC) using an e…

半导体实验用耐氢氟酸含氟塑料镊子金属杂质含量低

PFA镊子用于夹取小型片状、薄状、块状样品&#xff0c;广泛应用在半导体、新材料、新能源、原子能、石油化工、无线电、电力机械等行业。 具有耐高低温性&#xff08;可使用温度-200℃&#xff5e;&#xff0b;260℃&#xff09;、耐腐蚀、表面不粘性等特点&#xff0c;用于苛…

STM32嵌套中断向量控制器NVIC

一、嵌套终端向量控制器NVIC 1.1NVIC介绍 NVIC&#xff08;Nest Vector Interrupt Controller&#xff09;&#xff0c;嵌套中断向量控制器&#xff0c;作用是管理中断嵌套 先级。 核心任务是管理中断优 管理中断嵌套&#xff1a;我们在处理某个中断的过程中还没处理完这个中…

c++类和对象———拷贝构造和赋值运算符重载

衔接上一篇博客构造函数和析构函数c类和对象————构造函数和析构函数 目录 ​编辑 一、拷贝构造是什么&#xff1f; 二、拷贝构造 1.特点 2.代码解释拷贝构造参数类型&#xff08;重点&#xff09; 3.代码解释编译器默认拷贝构造 &#xff08;重点&#xff09; 4.构造函数、…

vite vue3 import.meta.glob动态路由

在Vite中使用Vue 3&#xff0c;你可以使用import.meta.glob来导入目录下的多个Vue组件&#xff0c;并自动生成路由。以下是一个简单的例子&#xff1a; router/index.js // router/index.js import { createRouter, createWebHistory } from vue-router;// 自动导入views目录下…

基于Spring Boot的在线学习系统的设计与实现

基于Spring Boot的在线学习系统的设计与实现 摘 要 在线学习系统是以大学传统线下教学方式不适应信息技术的迅速发展为背景&#xff0c;提高学习效率&#xff0c;解决传统教学问题&#xff0c;并且高效的实现教学信息化的一款软件系统。为了更好的实现对于教学和学生的管理&a…

词令外卖节红包天天神券每天领取直达入口

词令外卖节红包天天领直达入口 1、打开「词令」关键词口令直达微信小程序&#xff1b; 2、输入词令「外卖红包88」关键词直达口令&#xff1b; 3、搜索直达进入外卖红包天天领入口&#xff0c;即可成功领取外卖节红包和天天神券点外卖可享受券后价优惠&#xff1b; *温馨提醒&…

HTML5通过api实现拖放效果 dataTransfer对象

dataTransfer对象 说明&#xff1a;dataTransfer对象用于从被拖动元素向放置目标传递字符串数据。因为这个对象是 event 的属性&#xff0c;所以在拖放事件的事件处理程序外部无法访问 dataTransfer。在事件处理程序内部&#xff0c;可以使用这个对象的属性和方法实现拖放功能…

无药可医还能怎么办?越没本事的人,越喜欢从别人身上找原因!——早读(逆天打工人爬取热门微信文章解读)

无药可医的病该怎么办呢&#xff1f; 引言Python 代码第一篇 洞见 《骆驼祥子》&#xff1a;越没本事的人&#xff0c;越喜欢从别人身上找原因第二篇 人民日报 来啦 新闻早班车要闻社会政策 结尾 “吾日三省吾身&#xff0c;而后深知自助者天助之。” 在人生的迷宫中 遭遇困境时…

uniapp-打包IOS的APP流程

打包前所需配置 在manifest文件内配置 1. APP图标 2. 启动界面 有三种启动界面配置 第一种是 HBuilderX 官方给的通用启动界面&#xff0c;页面单一&#xff0c;屏幕中间就一个圆框图标 第二种是自定义的启动图&#xff0c;无法通过AppStore的审核 第三种是自定义storyboard启动…