当前位置: 首页 > news >正文

胡圆圆的暑期实习经验分享

背景

实验室一般是在研究生二年级的时候会放实习,在以后的日子就是自己完成毕业+工作要求,基本上不再涉及实验室的活了,目前是一月份也是开始准备暑期实习的好时间。实验室每年这个时候都会有学长学姐组织暑期实习经验分享,本着不想把这个良好的传统在我们这届丢失,故做本次分享。

自我介绍

本人暑期,秋招战绩在实验室都算不上优秀,主攻的方向是后端开发,截止目前有四段实习经历,从初创到大厂都待过,最后选了蚂蚁作为自己毕业之后的第一份工作,希望自己能保持对技术的初心继续往前走。

经验分享

经验分享网上有很多,大部分都是从八股+算法这两个方面进行入手以找到工作为目标结束,但是我理解的目标不光是找到一份实习或者工作,而是需要把做技术当成自己的职业,找到一份好实习或工作只是职业的开始而不是结束,所以想就对整个过程做一次分享也是自己对暑期和秋招总结。
金字塔结构图

事前

心态

相信这个时候开始找实习的同学心态都比较焦虑,可能存在着两种情况

  1. 实验室有需求,一边准备暑期,一边做着实验室的活。
  2. 实验室没有需求,全力准备暑期实习,但是很担心找不到或者找不好。

当时我就是属于情况一并且心态也是比较差的,白天着急干活,晚上匆忙复习和刷题。但是实习过后回头看其实发现复习八股和刷题固然重要但是习惯更加重要,当然每个人的体会都不同,这是我在第三段实习才懂得的道理。
开发不是赛跑,是一个需要坚持的赛道,如果再给我一次机会,我会选择静下来心来,好好把实验室的活做好,从原本的80分做到90分以及以上,现在就是很后悔当时没有好好地把握实验室的锻炼机会。其实在公司做的工作和实验室其实差不多,如果运气好,到了一个比较锻炼实习生的组那还好,如果运气不好,其实说的不好听就是打杂,锻炼的机会少之又少,发育全靠自己,如果再加上自己急于求成,习惯不好可能并不能有很多的成长。
习惯的养成对于我们就是在实验室里面养成的,比如开发规范,记录习惯,记录wiki,issue等等,也就是解决问题,做事情的习惯,相对于公司来说是很自由的,至少带我开发的老师也是技术很牛,比较开放的。

综上所说就是思考,解决问题的好习惯比背八股,刷算法更重要。做事情不能太功利,要持之以恒。

目标和计划

简单来说就是针对自己的目标去制定计划

目标

目标很简单,即想去的公司,想做的方向等等,因为不同的公司面试的风格都不太一样的,侧重点也不一样,这里分析下来有几个。
目标公司篇
字节偏智力题,算法;阿里偏项目和思考;其他的感觉都差不多;中小厂会有线下手撕算法;按照互联网的要求去准备银行没有问题。

计划

计划部分可以分为短,长计划,按照个人的习惯制定。我个人很喜欢马斯克的按照一天以小时为单位的方式来制定计划,毕竟专注力和DDL才是第一生产力。

事中

简历

简历这部分是找实习,工作的第一部分;对于互联网开发的同学来说不需要有很多的学生工作和学术论文,更加看重的是经历和项目。

结构

简历也有结构,按照总分的结构进行编写。
简历通常都有教育经历,专业技能,实习经历,学术论文,学生工作这个结构来编写。在专业技能中的关键词一定要在实习经历中体现,一是有说服力,二是要有总分的结构。简历技巧

项目

既然项目在简历中很重要,那么项目应该如何编写呢?当然项目也有结构
在描述项目的时候建议以产品内容(是什么)-> 个人工作(为什么+怎么做)-> 用数据证明结果怎么样。这种演绎递推式的方式去写可以突出自己的亮点。
简历-项目部分

埋点

同时在简历结构部分也可以看出,专业技能点需要在项目/实习经历里面有体现,这也是项目中的埋点部分。面试官看到这些关键技术的同时多半会问相关中间件或架构设计的技术细节,这个是需要去着重准备的。例如:使用MQ来让操作异步化,那MQ相关的问题需要去准备,包括但不限于:

  1. 项目中你为什么要使用MQ?
  2. MQ重复消费是怎么避免的,常见的几个MQ分别是怎么解决的?

几个问题一问下来,你的知识水位大概是什么样子就能体现出来了。

八股

八股部分其实很多人都说的是需要背的知识,但我的理解是学八股不光是知道更多的是理解。我把八股分成几个部分(仅针对于后端开发)

基础八股

八股相关
参考左耳朵老师的话,计算机的技术层出不穷但是最根本的东西都大都不会变,比如操作系统,计算机网络等等相关知识,如果说只是应付面试的话,确实只需要把相关的高频面试题背一背就行了,但是做技术人很多时候不能这么功利,更多地需要去考虑如何提升自己,所以这块其实就是仁者见仁,智者见智了。

场景题设计

场景题设计这块,需要平时去积累,但是常见的几种场景题(高并发场景下常见的优化方式)需要知道。这里感受比较深,在实习过程当中发现其实不是一上来就去设计一些很高大上的架构,而是基于目前的状况去选择合适的架构,因为产品可不会去考虑架构如何设计。前期小步快走迭代,在取得一些成绩了之后,得到产品信任,再去做一些架构上的迭代才是目前互联网选择的方式。

编程

其实编程,因为我个人不是ACMer,编程平时的学习方式也是通过刷LeetCode和少量的OJ去提升自己,最后的刷题数保持在1300左右。leetcode-刷题
暑期/秋招和日常实习不同,存在着笔试的环节(但其实懂得都懂,很多时候都是团队作战),所以我的理解刷题也是因人而异,分Type去刷,每天不去追求题量,而是争取把同一类型的题目搞懂即可,至少现在面试出的题目都写出来了(所以说面试编程不会太为难)。

刷到什么程度合适?

个人的感觉是可以独自完成任何一场公司的笔试,当然如果特别喜欢可以一直刷下去。原因有二:

  1. 团队作战有没有可能佬没有时间?
  2. 每次都靠别人,自己的能力体现在哪里?

推荐可以平时参加一下LeetCode的周赛,一般来说周赛三题笔试应该没啥问题(能过不是AK)。

事后

事后也是我现在需要去学习的阶段,往往会缺少做事情之后的复盘环节。

软实力

一开始我听说这个词的时候,更多的是不屑。但是学习之后才会后知后觉,举两个例子:

  1. 开发不是一个人的游戏(除非巨佬)而是一个团队游戏,不仅需要和技术打交道,还需要和产品,运营等等去打交道,当然别人的事情也是有优先级,那能不能把这个事情推动,需不需要技巧?在与不同的人相处的时候,都会有套路,这需要事后进行复盘。
  2. 不管什么时候,都需要结构化思考(面试表达,毕业答辩,试用期答辩等等)能用逻辑性的语言能让聆听者能够快速地理解你的意思,减少自己的沟通成本,是校招生最缺少的能力。

总结自己做的事情也是软实力的一种表现。

硬实力

硬实力不用多说,都是靠技术吃饭的。还是那句话,开发不是一蹴而就,是一个长期积累,持之以恒的过程,我对自己的要求分三点:

  1. 对面试复盘,面经记录+查漏补缺。
  2. 对需求复盘,用什么样的技术解决了什么样的问题。
  3. 对知识复盘,看技术文章积累知识碎片,并输出笔记/博客。

感谢

感谢研究生期间带我科研,开发的老师们(刘老师,马叔叔,yan老师),对我的耐心培养,给了我很多学习的机会和资源。
感谢实验室师兄师姐们对我的帮助,让我深刻体会到了实验室一家人不是白吹的。
感谢lab-荣哥,mt-超哥,ant-城哥,bytedance-明哥对我的耐心指导也祝愿你们工作顺利,发展的越来越好。

推荐资料

场景设计

海外兔(场景设计题)
凤凰架构
数据密集型应用系统设计
酷壳-左耳朵博客
极客时间

基础八股

小林图解网络
哈工大操作系统
MySQL是怎样运行的
黑马程序员Redis
JVM虚拟机
Java高并发核心编程

刷题

AcWing(刷题网站)
灵茶山艾府

相关文章:

胡圆圆的暑期实习经验分享

背景 实验室一般是在研究生二年级的时候会放实习,在以后的日子就是自己完成毕业工作要求,基本上不再涉及实验室的活了,目前是一月份也是开始准备暑期实习的好时间。实验室每年这个时候都会有学长学姐组织暑期实习经验分享,本着不…...

基于uniapp封装的table组件

数据格式 tableData: [{elcInfo: [{tableData:[1,293021.1,293021.1,293021.1,293021.1,]}]},{elcInfo: [{tableData:[1,293021.1,293021.1,293021.1,293021.1,]}]},{elcInfo: [{tableData:[1,293021.1,293021.1,293021.1,293021.1,]}]},/* {title: "2",elcInfo: [{…...

Git删除远程仓库某次提交记录后的所有提交

1、鼠标右键->git bash here,然后cd切换到代码目录; 2、git log查看提交记录,获取commit id 3、git reset commit id(commit id指要保留的最新的提交记录id) 4、git push --force,强制push 如果出现…...

强化学习10——免模型控制Q-learning算法

Q-learning算法 主要思路 由于 V π ( s ) ∑ a ∈ A π ( a ∣ s ) Q π ( s , a ) V_\pi(s)\sum_{a\in A}\pi(a\mid s)Q_\pi(s,a) Vπ​(s)∑a∈A​π(a∣s)Qπ​(s,a) ,当我们直接预测动作价值函数,在决策中选择Q值最大即动作价值最大的动作&…...

【数据库】CRUD常用函数UNION 和 UNION ALL

文章目录 一、CRUD二、函数2.1 字符函数 (Character Functions):2.2 数字函数 (Numeric Functions):2.3 日期函数 (Date Functions):2.4 流程控制函数:2.5 聚合函数: 三、UNION 和 UNION ALL3.1 UNION:3.2 UNION ALL3.3 注意事项 一、CRUD CRUD 是指数据库操作的四…...

Adding Conditional Control to Text-to-Image Diffusion Models——【论文笔记】

本文发表于ICCV2023 论文地址:ICCV 2023 Open Access Repository (thecvf.com) 官方实现代码:lllyasviel/ControlNet: Let us control diffusion models! (github.com) Abstract 论文提出了一种神经网络架构ControlNet,可以将空间条件控制添加到大型…...

Python与人工智能

Python 是一种广泛用于人工智能(AI)开发的编程语言。Python具有简洁的语法和强大的库支持,使其成为数据科学、机器学习和深度学习的理想选择。 Python中有许多库可以帮助实现人工智能,其中最流行的包括TensorFlow和PyTorch。这些…...

【Docker】Docker基础

文章目录 安装使用帮助启动命令镜像命令容器命令 安装 # 卸载旧版本 sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine # 设置存储库 sudo yum install -y yum-utils …...

linux异常情况,排查处理中

登录客户环境后,发现一个奇怪情况如下图,之前也遇到过,直接fuser -ck /backup操作的话,主机将会重启,因数据库运行中,等待停机维护时间,同时也在想办法不重启的情况下解决该问题 [rootdb ~]# f…...

Spring Boot参数校验方案

NotNull:值不能为null;NotEmpty:字符串、集合或数组的值不能为空,即长度大于0;NotBlank:字符串的值不能为空白,即不能只包含空格;Size:字符串、集合或数组的大小是否在指…...

【漏洞复现】ActiveMQ反序列化漏洞(CVE-2015-5254)

Nx01 产品简介 Apache ActiveMQ是Apache软件基金会所研发的开放源代码消息中间件。ActiveMQ是消息队列服务,是面向消息中间件(MOM)的最终实现,它为企业消息传递提供高可用、出色性能、可扩展、稳定和安全保障。 Nx02 漏洞描述 Re…...

面试题:MySQL误删表数据,如何快速恢复丢失的数据?

相信后端研发的同学在开发过程经常会遇到产品临时修改线上数据的需求,如果手法很稳那么很庆幸可以很快完成任务,很不幸某一天突然手一抖把表里的数据修改错误或者误删了,这个时候你会发现各种问题反馈接踵而来。 如果身边有BDA或者有这方面经…...

李沐之神经网络基础

目录 1.模型构造 1.1层和块 1.2自定义块 1.3顺序块 1.4在前向传播函数中执行代码 2.参数管理 2.1参数访问 2.2参数初始化 3.自定义层 3.1不带参数的层 3.2带参数的层 4.读写文件 4.1加载和保存张量 4.2加载和保存模型参数 1.模型构造 1.1层和块 import torch fr…...

【docker】使用 Dockerfile 构建镜像

一、什么是Dockerfile Dockerfile 是用于构建 Docker 镜像的文本文件。它包含了一系列的指令,用于描述如何构建镜像的步骤和配置。 通过编写 Dockerfile,您可以定义镜像的基础环境、安装软件包、复制文件、设置环境变量等操作。Dockerfile 提供了一种可…...

计算机网络—— 概述

概述 1.1 因特网概述 网络、互联网和因特网 网络由若干结点和连接这些结点的链路组成多个网络还可以通过路由器互联起来,这样就构成了一个覆盖范围更大的网络,即互联网(或互连网)。因特网(Internet)是世…...

“超人练习法”系列06:如何更好地掌握技能?

01 掌握的阶段 关于人类学习新事物的最生动、最精妙的比喻,我是从笑来老师那里学到的。 他指出,学习新知识、新概念犹如在构建自己大脑皮层,每个习得的概念就像是大脑皮层上的一个个微小神经元。 一个看似聪明、博学的人,总能在各…...

【华为OD机试真题2023CD卷 JAVAJS】字符串拼接

华为OD2023(C&D卷)机试题库全覆盖,刷题指南点这里 字符串拼接 知识点数组递归 时间限制:1s 空间限制:256MB 限定语言:不限 题目描述: 给定M(0<M<=30)个字符(a-z),从中取出任意字符(每个字符只能用一次)拼接成长度为N(0<N<=5)的字符串,要求相同的字…...

【算法】链表-20240109

这里写目录标题 一、141. 环形链表二、876. 链表的中间结点三、面试题 02.01. 移除重复节点 一、141. 环形链表 简单 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中…...

机器学习系列--R语言随机森林进行生存分析(2)

随机森林&#xff08;Breiman 2001a&#xff09;&#xff08;RF&#xff09;是一种非参数统计方法&#xff0c;需要没有关于响应的协变关系的分布假设。RF是一种强大的、非线性的技术&#xff0c;通过拟合一组树来稳定预测精度模型估计。随机生存森林&#xff08;RSF&#xff0…...

Flutter GetX 之 状态管理

上一篇文章为大家介绍了 GetX的 路由管理,让大家对GetX有了初步了解,今天为大家介绍一下GetX的 状态管理。 StatelessWidget 和 StatefulWidget 介绍 在介绍之前,先简单介绍一下 Flutter 页面的 StatelessWidget 和 StatefulWidget ,其实Flutter的本质是万物都是Widget,…...

e2studio开发磁力计LIS2MDL(1)----轮询获取磁力计数据

e2studio开发磁力计LIS2MDL.1--轮询获取磁力计数据 概述视频教学样品申请源码下载速率新建工程工程模板保存工程路径芯片配置工程模板选择时钟设置UART配置UART属性配置设置e2studio堆栈e2studio的重定向printf设置R_SCI_UART_Open()函数原型回调函数user_uart_callback ()prin…...

C++ 字符串大小写转换,替换,文件保存 方法封装

此示例程序方法已经封装好使用std::islower()函数可以检查一个字符是否是小写字母,使用std::isupper()函数可以检查一个字符是否是大写字母。 如果传入的字母是小写字母,则使用std::toupper()函数将其转换为大写字母,并输出转换后的结果。 如果输入的字母是大写字母,则使…...

计算机基础面试题 |19.精选计算机基础面试题

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…...

mysql 添加用户并分配select权限

1.root用户先登录或者在可执行界面 1.1 选择mysql 点击mysql 或者在命令行 use mysql 1.2创建用户 CREATE USER username% IDENTIFIED BY password; 备注1&#xff1a;%替换为可访问数据库的ip&#xff0c;例如“127.0.0.1”“192.168.1.1”&#xff0c;使用“%”表示不限制…...

重新认识canvas,掌握必要的联结密码

查看专栏目录 canvas示例教程100专栏&#xff0c;提供canvas的基础知识&#xff0c;高级动画&#xff0c;相关应用扩展等信息。canvas作为html的一部分&#xff0c;是图像图标地图可视化的一个重要的基础&#xff0c;学好了canvas&#xff0c;在其他的一些应用上将会起到非常重…...

Linux第21步_取消鼠标中键的复制粘贴功能

在ubuntu18.04操作系统中&#xff0c;选中文本后&#xff0c;若按下鼠标中键&#xff0c;就可以执行复制粘贴&#xff0c;相当于 CtrlshiftC 后又按了 CtrlshiftV。在Linux系统中&#xff0c;基本上都是这么配置的。在windows系统中&#xff0c;我们习惯用Ctrl-C复制&#xff0…...

数学建模-Matlab R2022a安装步骤

软件介绍 MATLAB是一款商业数学软件&#xff0c;用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境&#xff0c;主要包括MATLAB和Simulink两大部分&#xff0c;可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程…...

【AI】Pytorch 系列:学习率设置

a. 有序调整:等间隔调整(Step),按需调整学习率(MultiStep),指数衰减调整(Exponential)和 余弦退火CosineAnnealing。 b. 自适应调整:自适应调整学习率 ReduceLROnPlateau。 c. 自定义调整:自定义调整学习率 LambdaLR。 #得到当前学习率 lr = next(iter(optimizer.param_gr…...

LeetCode第107题 - 二叉树的层序遍历 II

题目 解答 class Solution {List<List<Integer>> nodeLevels new LinkedList<>();public List<List<Integer>> levelOrderBottom(TreeNode root) {levelOrder(root, 0);List<List<Integer>> nodeLevels2 new LinkedList<>…...

java 常⽤的线程池模式FixedThreadPool

java 常⽤的线程池模式FixedThreadPool 线程池中的线程数量是固定的。 当提交一个新任务时&#xff0c;如果线程池中的线程都在运行&#xff0c;新任务就会被放入任务队列中等待执行。 如果线程池中的所有线程都在运行&#xff0c;且任务队列已满&#xff0c;那么线程池会创建新…...

农安县建设局官方网站/百度网络营销app

view.animate().x(50).y(100); 它有3个注意的点 animate()&#xff1a;整个系统从调用View的这个animate()函数开始。 当这个动画被声明时&#xff0c;它就会被隐式的调用&#xff0c;是自动开始。 链式设置方法。每个接口方法都会返回一个ViewPropertyAnimator实例。 关于…...

wordpress导航添加登陆按钮/线上拓客渠道有哪些

HTML5中的MathML 标签是最优先的元素。无论您要使用什么MathML元素&#xff0c;都应将它们包装在标记内。用法:child elements 属性&#xff1a;标签接受以下列出的一些属性&#xff1a;class|id|style:此属性用于保存子元素的样式。dir:此属性保存方向值。它具有两种类型的方向…...

如何网站做外贸生意/网站查询ip

概述为了增加用户体验&#xff0c;可能要求在一个APP中打开另外一个APP的需求&#xff0c;一般分为三种&#xff1a;显式调用跳转隐式调用跳转URL Scheme跳转代码用到的一些公共方法&#xff0c;当打开APP时&#xff0c;检测到第三方APP没安装时调到应用市场进行下载&#xff0…...

心连网网站/推广神器

在“新基建”全面推进&#xff0c;5G与AI技术掀起新一轮技术革命浪潮的今天&#xff0c;爆发的数据、算法、算力加速了许多产业的数智转型&#xff0c;对于各行业来说蕴含的时代机遇巨大。在技术与产业升级的背景下&#xff0c;需要应对众多集成与融合的技术创新需求&#xff0…...

建立网站教程视频/汕头网站建设方案推广

随着信息技术的发展&#xff0c;计算机在我们的日常生活中扮演了越来越重要的作用&#xff0c;通过现有的技术以及当今在计算机领域还在研究中的尖端科技分析,计算机的发展将趋向超高速、超小型、平行处理和智能化&#xff0c;量子、光子、分子和纳米计算机将具有感知、思考、判…...

京东淘宝网站是怎么做的/网络推广公司哪里好

消防应急照明和疏散指示系统是由各类消防应急灯具及相关装组成&#xff0c;为人员疏散、消防作业提供照明和疏散指示的系统。民用建筑中应设疏散照明的部位在GB50016-2014《建筑设计防火规范》第10.3.1条做了相应规定。原先国家规范要求&#xff1a;JGJ333-2014《会展建筑电气设…...