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

背景

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

自我介绍

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

经验分享

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

事前

心态

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

  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(刷题网站)
灵茶山艾府

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

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

相关文章

uniappVue3版本中组件生命周期和页面生命周期的详细介绍

一、什么是生命周期? 生命周期有多重叫法,有叫生命周期函数的,也有叫生命周期钩子的,还有钩子函数的,其实都是代表,在 Vue 实例创建、更新和销毁的不同阶段触发的一组钩子函数,这些生命周期函数…

STM32F407-14.3.10-表73具有有断路功能的互补通道OCx和OCxN的输出控制位-00x00-11x11(总结)

如上表73所示,主输出使能(MOE0)的8种OCx与OCxN的输出状态及波形图,已经单独整理输出8篇文章,方便需要时单独回查。 根据表73可得以下结论 1、从00x00~01x00的前5种状态的OCx与OCxN的引脚电平全由GPIO端口的上下拉决定…

Java序列化篇----第一篇

系列文章目录 文章目录 系列文章目录前言一、什么是java序列化,如何实现java序列化?二、保存(持久化)对象及其状态到内存或者磁盘三、序列化对象以字节数组保持-静态成员不保存四、序列化用户远程对象传输前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,…

1389 蓝桥杯 二分查找数组元素 简单

1389 蓝桥杯 二分查找数组元素 简单 //C风格解法1&#xff0c;lower_bound(),通过率100% //利用二分查找的方法在有序的数组中查找&#xff0c;左闭右开 #include <bits/stdc.h> using namespace std;int main(){int data[200];for(int i 0 ; i < 200 ; i) data[i] …

回首2023,期待2024!

2023&#xff0c;在改变中到来 2023年1月1日&#xff0c;我从成都冷清的学校回到了哈尔滨的老家&#xff0c;开始了保研之前的最后一个寒假 当时的目标是将之前的科研理论转化为实际&#xff0c;生产出一篇sci&#xff0c;助力保研加分 星移斗转&#xff0c;事与愿违&#x…

贯穿设计模式-责任链模式

样例代码 涉及到的项目样例代码均可以从https://github.com/WeiXiao-Hyy/Design-Patterns.git获取 需求 实时地&#xff0c;根据city&#xff0c;sex&#xff0c;product字段进行业务投放&#xff0c;比如&#xff1a;北京的男生&#xff1b;四川的电脑等等 → 责任链模式&…

React之useRef hook

介绍 useRef是react的自定义hook&#xff0c;它用来引用一个不需要渲染的值。这篇文章会介绍useRef的简单用法。 使用场景 1.实现节流 通过useRef实现节流功能&#xff0c;在限制时间内多次提交&#xff0c;已第一次提交为准。 useThrottle.jsx import {useEffect, useRef,…

【gRPC学习】使用go学习gRPC

个人博客:Sekyoro的博客小屋 个人网站:Proanimer的个人网站 RPC是远程调用,而google实现了grpc比较方便地实现了远程调用,gRPC是一个现代的开源远程过程调用(RPC)框架 概念介绍 在gRPC中&#xff0c;客户端应用程序可以直接调用另一台计算机上的服务器应用程序上的方法&#…

Generator - JavaScript的异步颠覆者

&#x1f9d1;‍&#x1f393; 个人主页&#xff1a;《爱蹦跶的大A阿》 &#x1f525;当前正在更新专栏&#xff1a;《VUE》 、《JavaScript保姆级教程》、《krpano》 ​ ​ 目录 ✨ 前言 什么是Generator 生成器函数的执行流程控制 异步编程应用 ✨ 结语 ✨ 前言 Java…

滑动窗口协议仿真(2024)

1.题目描述 滑动窗口协议以基于分组的数据传输协议为特征&#xff0c;该协议适用于在数据链路层以及传输层中对按 顺序传送分组的可靠性要求较高的环境。在长管道传输过程&#xff08;特别是无线环境&#xff09;中&#xff0c;相应的滑动窗口 协议可实现高效的重传恢复。附录 …

[Redis实战]分布式锁

四、分布式锁 4.1 基本原理和实现方式对比 分布式锁&#xff1a;满足分布式系统或集群模式下多进程可见并且互斥的锁。 分布式锁的核心思想就是让大家都使用同一把锁&#xff0c;只要大家使用的是同一把锁&#xff0c;那么我们就能锁住线程&#xff0c;不让线程进行&#xf…

浏览器的渲染流程

✨专栏介绍 在当今数字化时代&#xff0c;Web应用程序已经成为了人们生活和工作中不可或缺的一部分。而要构建出令人印象深刻且功能强大的Web应用程序&#xff0c;就需要掌握一系列前端技术。前端技术涵盖了HTML、CSS和JavaScript等核心技术&#xff0c;以及各种框架、库和工具…

基于SpringBoot的MusiQ音乐网站

目录 前言 开发环境以及工具 项目功能 用户&#xff1a; 后台&#xff1a; 设计详情​编辑 登陆页面 后台管理页面 首页 视频展示 源码获取 前言 本项目是一个基于IDEA和Java语言开基于SpringBoot的MusiQ音乐网站。应用包含管理端&#xff0c;教师端&#xff0c;学生…

Spring见解 5 Spring整合MyBatis

6.Spring整合MyBatis 6.1.创建工程 6.1.1.pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation…

YOLOv5改进 | 损失篇 | VarifocalLoss密集检测专用损失函数 (VFLoss,论文一比一复现)

一、本文介绍 本文给大家带来的是损失函数改进VFLoss损失函数,VFL是一种为密集目标检测器训练预测IoU-aware Classification Scores(IACS)的损失函数,我经过官方的版本将其集成在我们的YOLOv8的损失函数使用上,其中有很多使用的小细节(否则按照官方的版本使用根本拟合不了…

SpringBoot学习(六)-SpringBoot整合Shiro

12、Shiro 12.1概述 12.1.1简介 Apache Shiro是一个强大且易用的Java安全框架 可以完成身份验证、授权、密码和会话管理 Shiro 不仅可以用在 JavaSE 环境中&#xff0c;也可以用在 JavaEE 环境中 官网&#xff1a; http://shiro.apache.org/ 12.1.2 功能 Authentication…

开源加解密库之GmSSL

一、简介 GmSSL是由北京大学自主开发的国产商用密码开源库&#xff0c;实现了对国密算法、标准和安全通信协议的全面功能覆盖&#xff0c;支持包括移动端在内的主流操作系统和处理器&#xff0c;支持密码钥匙、密码卡等典型国产密码硬件&#xff0c;提供功能丰富的命令行工具及…

精选顶级期刊中的三幅可复现图表

简介 最近在阅读文献时&#xff0c;发现了一些出色的可视化案例&#xff0c;特此与大家分享。这些图共同的特点是&#xff1a;1. 易懂明晰&#xff1b; 2. 信息丰富&#xff1b; 3. 配色优雅。 小编有话说&#xff1a;以下三幅图选自领域内顶级期刊&#xff0c;虽然并非采用R语…

K8S集群部署解决工作节点couldn‘t get current server API group list问题

最近在自己电脑上装了VMWare Player&#xff0c;在上面装了两个Ubuntu虚拟机&#xff0c;为了方便学习云原生技术&#xff0c;决定在上面装一个2个节点&#xff08;一个控制面&#xff0c;一个工作节点&#xff09;的K8S集群。 参考这篇文章&#xff1a; Ubuntu 22.04 搭建K8…

基于java,springboot的论旅游管理系统设计与实现

环境以及简介 基于java,springboot的论旅游管理系统设计与实现&#xff0c;Java项目&#xff0c;SpringBoot项目&#xff0c;含开发文档&#xff0c;源码&#xff0c;数据库以及ppt 源码下载 环境配置&#xff1a; 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服…