关于校招,你必须了解的那些事

分享大纲

(1)什么是校招? 什么时候开始准备校招?
(2)还很迷茫吗? 带你一起了解都有哪些就业岗位? 手把手教你选择适合自己的技术栈?
(3)如何准备校招面试?
(4)答疑讨论环节

1. 校招初体验

1.1 什么是校招

校招(即,校园招聘),应届生通过企业的校园招聘途经进行面试选拔。

应届生由于没有工作经验,如果直接走普通的社会招聘很难进入大型企业,并且拿到期待的薪资。大型企业都有完善的校园招聘通道,把握好校招的时间点才能进入自己梦寐以求的企业和岗位。

1.2 校招时间

  • 春招
    • 每年 3-4 月(金三银四),主要以实习生招聘为主,和少量的正式校招岗位
  • 秋招
    • 每年 9-11 月(金九银十),主要以正式校园招聘岗位为主

例如:小明 2021 年 6 月毕业,则 2020 年春招(3-4月)着手准备实习生招聘,秋招(9-11 月)则要进行正式校招面试,面试通过发放 offer 直接签订三方协议。如果在秋招中没有拿到心仪的 offer,则只能到 2021 年春招再次进行面试,但是岗位和数量也都比较少。

1.3 招聘流程

img

  • 关于内推:
    • 可以找往届学长学姐、就业群、牛客网找到一些企业内部的员工进行内推。(内推成功都会有提成的,也有很大一部分内推也作为员工 KPI 的一部分)

2. 还很迷茫吗?带你一起了解都有哪些就业岗位? 手把手教你选择适合自己的技术栈?

学前端开发?学 APP 开发?学大数据开发?还是学后台开发呢?

对于 Java、C++、C#、Python、PHP 这些编程语言,又要如何选择呢?

现如今人工智能如此火热,是不是机器学习、深度学习更高级一些呢?

到底如何选择适合自己的技术岗位

2.1 有哪些技术栈

在进行技术栈选择之前,需要对当下互联网技术进行调研。先要知道都有哪些技术栈,了解技术的基本,方能找到适合自己的技术栈。

在当前互联网技术中,笔者将核心技术分为以下四个方向,它们都是互联网主要的技术方向。

1. 大前端开发

之所以称之为“大前端”,它不仅仅是网站的界面开发,从广义上讲,用户终端视觉和交互相关的部分,都属于“大前端”的范畴。在当今互联网发展的今天,多场景融合展现技术,日益复杂的界面交互变化,赋予了前端更广阔的能力。

前端技术的核心是 HTML、CSS、JavaScript,它是整个前端的灵魂。同时在前端的技术栈中 Vue、React、Angular 是最值得关注的三个开发框架。在移动端,目前有:HTML5+原生、Javascript 开发 + 原生渲染(React Native、Weex)、自绘 UI + 原生(Flutter)、增强版 Web App(PWA)是当前主流的移动跨平台解决方案。在移动端各种软件平台都相继推出小程序,构建在自身的软件上,即扫即用、用完即走,这些小程序也同样是前端的研究领域。

前端开发是用户看得见摸得着的,它注重用户的体验,是最接进产品和设计的。相比于后台服务端,端测开发可以让你构建一个丰富多彩、所见即所得的软件交互体验。

如果你对构建有趣的界面和处理各种交互逻辑感兴趣,那么前端开发或许是你的兴趣所在。

2. 后台开发

春运 12306 铁路抢票、全球双 11 购物狂欢节,之所以能够抗住巨大的流量洪峰,离不开最核心的后台系统服务。后台服务对用户不同于前端,它对用户来说是无法直接感知的,它不同于前端可见的界面。抢票时用户身份的认证、车次的查询、车票订单的查询、订单支付等等,用户数据的存储、查询、验证等等算法与逻辑,一套在系统服务端运行的程序,这就是后台服务,它是用户无法直接感受到,但是确实随时随地都在使用的。

后台开发,有时也称做后端开发。其中包含:后台编程语言(Java、Python、C++等)、数据库存储(MySQL、Postgre、Redis)、后台服务框架(如最为火热的 SpringBoot 框架)、消息中间件(Kafka)、容器化引擎(Docker、Kubernates)、服务器编程(Linux)等。总而言之,后台开发就是围绕分布式、高可用、高性能、高可靠展开的一些技术工作。

虽然后台开发不像前端一样,所见即所得。但后台开发是一个推动系统具有生命力的根,它包含了很强的架构设计与实现。一个大型的后台服务可以支撑了亿万流量的平台,是一个产品能够运营的基本。

如果你对系统设计感兴趣,热爱 Java、Python、C++、Go 等语言,想要成为一个系统架构师,那么后台开发是一个不错的选择。

3. 大数据开发

随着系统运营的时间发展,一个系统将积累了越来越多的数据,当数据达到 PB、EB 级别时,后台服务将面临了更大的挑战。这些挑战,不是后台技术栈就能够解决的,传统的关系型数据库已经无法存储这么大体量的数据。那么,这就是大数据需要解决的问题。

大数据有三个重要的特征(简称 3V 特征):大量 (Volume),高速 (Velocity),多样化 (Variety),那么面对海量数据,如何接入、如何存储与查询、如何分析?这便是大数据开发领域,需要实现的工程能力。

大数据开发,需要掌握大数据通用处理平台,如:Spark、Flink、Hadoop 等的使用;大数据编程语言,包括 Scala、Python、Java 等;分布式文件存储 HDFS;数据仓库,如:Hive、ElasticSearch;海量数据实时查询,如 Apache Druid、InfluxDB 等时序数据库;大数据计算资源调度,如 Yarn、Mesos 等;在数据接入需要了解消息队列 Kafka、RocketMQ 等;日志收集框架,如:Flume、ELK 等;此外海量数据要进行分析,也需要掌握常见的机器学习工具包,挖掘海量数据中的有用价值。

大数据开发不同于后台开发,也有别于算法。大数据开发工程师需要掌握良好的工程能力,实现从数据的接入,数据存储,数据查询,数据分析。

如果你对海量数据处理、存储、分析感兴趣,并且有一定的后台开发基础,那么大数据开发是一个适合你的选择。

4. 算法应用

你一定使用过高铁站的人脸识别,也一定听说过可爱调皮的小爱同学;你可能对自动驾驶充满向往,也可能对智能家居满怀憧憬;你可能遐想过人工智能技术在医疗领域大放异彩,也可能想象过生活在智慧城市是一种怎样便捷的感觉,但这些仅仅是人工智能领域的冰山一角。总之,人工智能技术已经在我们生活中像医疗、交通、教育、金融、生活、零售、安防、园区、环保、政务等各个方面发挥着举足轻重的作用。目前世界上主要国家都在人工智能领域进行战略布局。在就业方面,国际、国内各大厂也早已打响了人工智能人才争夺战,作为热爱算法的你是否早已跃跃欲试了呢?

算法应用领域包括的方面很多,传统的数据结构、高级算法设计等是基础,在这个人工智能技术风靡全球、飞速发展的时代,人工智能技术早已在算法应用领域占据很大的比重。机器学习是人工智能的基础,机器学习在大的层面上分为传统机器学习和深度学习,从另一个角度又可以分为非监督学习、弱监督学习和强监督学习;从应用场景角度还可以分为自然语言处理(NLP)、计算机视觉(CV),以及二者相互结合。对于机器学习从业者而言,理论层面上需要掌握像逻辑回归(LR)、感知机、最近邻算法(KNN)、决策树(DT)、支持向量机(DT)等传统算法,以及随机森林(RF)、Adaboost、GBDT、Xgboost、LightGBM 等集成学习算法,以及与特征工程相关的相关知识。在深度学习层面主要包含梯度下降反向传播算法(BP)、多层感知机(MLP)、卷机神经网络(CNN),循环神经网络(RNN),强化学习,以及包含 Dropout、Batch Normalization、正则化等优化方法。实践层面主要掌握 Scikit-Learn:,Tensorflow,Keras,Pytorch 等框架。

人工智能技术特别是深度学习技术发展之快可谓日新月异,最新技术早已远超如上所述,正等待着目前作为准技术达人的你们去挖掘探索。假如你也想在阿里云天池、Kaggle 等比赛平台上去刷榜而一展才智,或者你也想去像 CVPR、ICLR 等会议上留下浓墨重彩的一笔,或者你也想去互联网大厂与各路大神做同台竞技,那么还在等什么,算法方向就是你最佳的选择。

更多请转向,各大企业的招聘网站:

【更详细请阅读】大学四年,如何选择自己的技术栈 | Frank’s 技术世界

2.2 选择适合自己的技术

上面列举了互联网技术栈中核心的几个方向,那么如果去选择一个适合自己的技术栈呢?根据笔者多年互联网技术栈学习经验,主要归纳为下面的几点。

第一,找到自己的兴趣。在发现自己的兴趣之前,往往我们都是一张白纸,需要我们进行广泛的学习,通过一段时间的启蒙学习才会发现自己更适合做什么,从中发觉自己的兴趣。回到技术本身,作为一个技术“小白”,我们则可以从自己基本的切入点入手,选择自己的技术栈。如果对视觉、交互体验感兴趣,可以从前端开始,开发设计一个网站、一个 APP 开始。如果对后台架构设计、后台编程语言感兴趣则可以从后台开发开始,如:Python、Java、PHP 等语言开始。如果你有很好的数学功底,喜欢数据分析、概率统计,想要运用数学知识挖掘更大的价值,则可以上手机器学习、深度学习等算法的入门。如果你已经接触过了诸多技术栈,我想你应该已经知道自己的兴趣。通过启蒙学习发觉自己的兴趣,这是我们选择自己技术栈的第一步。

第二,关注一线就业方向。互联网技术日新月异,要结合自己的兴趣和当下的就业市场,不要迷失在技术的海洋中。当下火热的机器学习、Java 后台开发、C++ 开发、前端开发、APP 开发,最热门的岗位,意味着未来的前景。试想一下,一个想要入门互联网技术栈的爱好者,如果还在学习十年前的技术,老旧的技术框架,那么又怎么能迎合互联网发展的趋势呢,势必被时代所淘汰。在中国互联网技术浪潮中,技术爱好者可以关注国内一线互联网“大厂”的技术岗位,关注开发社区,瞄准就业市场、技术方向、自己的兴趣,聚力突破。

第三、洞察技术趋势与发展。技术迭代日益快速的时代下,技术人如何自处?作为一个有追求的技术的爱好者,必须紧跟技术前沿,基于自己的技术能力,关注开源技术,洞察未来的技术趋势。如当下火热的:“5G”、“人工智能”、“云计算”,5G 可以更快地传输数据,人工智能可以智能的学习分析,而云计算是为了更好地进行计算,它们必将成为未来数字经济的基础设施。例如当下的我们可以选择一些优势方向,例如:机器学习、云计算、5G 开发等等方向。洞察技术趋势与发展,才能紧跟潮流脚步。再如当下疫情的发展,对于远程办公和视频会议的需求明显激增,音视频开发的市场需求也水涨船高

当然不仅仅只是学会一门技能,也要有自己的辅助第二技术或是第三技术。比如后台思维写前端,算法思维写后台,产品思维写算法。这些都是我们的核心竞争力,懂得更多可以让彼此之间的协作更顺畅。笔者根据自己多年的技术学习经验,从“找到自己的兴趣”、“关注一线就业方向”、“洞察技术趋势与发展”三个方面入手,一定能找到适合自己的技术栈。

3. 如何准备校招面试?

3.1 夯实基础

技术岗位的专业基础知识,必须扎实。

以【 Java 后台开发】岗位开发为例,需要掌握的知识:

  • 在线笔试基础

    • Leetcode(必刷)
    • 剑指 Offer(必刷)
  • 内功修炼

    • 数据结构与算法
    • 计算机网络(应用层,传输层,网络层等相关协议)
    • 操作系统原理
  • 语言核心基础

    • 语法与基础概念
    • 面向对象与 23 种设计模式
    • Java 容器源码(数据结构 & 源码分析:ArrayList、Vector、LinkedList、HashMap、ConcurrentHashMap、HashSet、LinkedHashSet and LinkedHashMap)
    • Java 并发编程(线程状态、线程机制、线程通信、J.U.C 组件、JMM、线程安全、锁优化)
    • Java IO(磁盘操作、字节操作、字符操作、对象操作、网络操作、NIO)
    • Java 虚拟机(运行时数据区域、垃圾收集、内存分配机制、类加载机制、性能调优监控工具)
    • Java Web(学习 Spring + SpringMVC + MyBatis 框架和设计模式思想,学习 Servlet 和 JSP)
  • 后台技术栈

    • Linux 基础
    • 数据库(MySQL,Redis)
    • Git 版本管理工具使用
    • 正则表达式
  • 高级加分项

    • Zookeeper(分布式协调服务)
    • Dubbo(分布式服务治理)
    • 分布式事务解决方案
    • Kafka(分布式消息通信)
    • Nginx(反向代理)
    • Docker(容器技术)

3.2 面试技巧

  • 简历几要素

    • 基本信息
      • 姓名 / 年龄 / 联系方式 / 教育经历 / 应聘岗位
      • 推荐大家联系方式上使用校园 edu.cn 的邮箱
    • 校园经历 ☆☆
      • 参加过社团、学生会活动等;参加过校园某某平台系统开发;xxx
    • 获奖荣誉 ☆☆
    • 实习经验 ☆☆
    • 项目经验 ☆☆☆
  • 面试技巧

    • 作为技术性面试,一定要包装好一份自己的项目经历,有条件的甚至可以提早准备好自己的项目架构图。只有准备好自己的项目经验,才能在现场面试的环节中让面试官感兴趣,告诉面试官自己的亮点,从而把面试话题牵引到自己最擅长的领域。
    • 切记不要一句话也不说,项目也不说清楚。这种面试,只会让面试官上来就考察基础,面试印象也大大折扣。

3.3 经验分享:我的校招之路

我的校招之路 | Frank’s 技术世界
https://www.frankfeekr.cn/2018/10/19/我的校招之路/

广撒简历,重点培养。明确自己的岗位,工作地进行海投、精准面试。基本上面到 HR 面的企业都拿到了口头 Offer 或是意向书。

在面试过程中,选择往往大于努力,一定要认准自己的方向。

Offer = 40%运气 + 40%技术 + 20%表达能力

4. 答疑讨论环节

希望大家今天可以在我的分享中有一点点收货,生活也需要平衡。

☆ 推荐一些关于校招的平台

  • 关注公众号【全栈开发社区】,回复 “校招” 获取资料
img image-20200531163550422 image-20200531163601726