从未想到,进入大厂原来这么简单

2024-02-19 07:40

本文主要是介绍从未想到,进入大厂原来这么简单,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

引言

2022 在悄悄的溜走,转眼间已经来到了六月,一年一度的互联网大厂招聘陆陆续续开始了,作为一个现某大厂员工,手把手传授大家进入大厂的方法论,为正在迷茫的同学们做一些输入。

我可以,那你也可以。

那么这时候,最关键,或者说需要做的事儿是什么呢?

  • 运营

  • 能力

就像打王者荣耀一样,要不个人实力很强,带飞队友,要不整体运营很好,经济超过对面,完全虐杀。

求职工作也是一样,也分为运营能力

运营

这时候大家很好奇,找工作和运营有什么关系?我能力强才能找到工作呀,运营这好像没什么用???黑人问号

那么这里可能就有个误区,运营比能力其实更重要

小富小贵靠努力,大富大贵靠选择

选择

事实证明,每年的高校毕业生是非常多的,想从千万的人中脱颖而出,选择就很重要,那么如何做选择?

显而易见,算法的难度是最高,安卓ios 进入大厂的概率是极大的,选择,就成了最重要的一环,你所思考的东西,将会是你这初入职场的第一份职业,一个好的选择会是开启成功的第一块敲门砖。

那么,作为千千万普通同学中的一员,我毅然放弃了和算法大佬们拼杀(神仙打架),选择了后端研发,两个原因

  1. 我确实对Java 比较熟悉,个人兴趣比较足

  2. 研发需要的岗位是最多的,换句话说,找到一份不错工作的概率比较大(当然,卷的也厉害hhhh)

保守型选手的选择就是这么纯洁朴实。做一件你喜欢的事,做一个好的选择,那么,开局了朋友们!

时间

当你选择结束的时候,那么另外一个问题也就抛出来了,时间,我选择了岗位,我什么时候去投简历,什么时候去复习,什么时候去面试?

上述是大厂招聘的时间轴,每年可能上下会有一些浮动,但大体是不变的。

那么我来给大家简单分析下这个时间

  • 第一优先级 : 最好的入场时间是暑期实习,拿到了实习,虽然不保证一定能拿到offer,但这就是领先别人的第一步,你和同事们一起工作,学习进步的速度比自己抱着书,敲点demo太多了,而且这时候因为面的是实习生,面试难度也会比正式稍微低那么一点点,虽然不多,但这种时候一点点的优势都需要抓住。这也是我极度推荐大家在每年三月份的时候开始投暑期实习的原因。

  • 第二优先级 : 错过了暑期实习怎么办,下一个节点就是提前批,顾名思义,提前批就是针对优秀的同学,直接拿到明年offer的机会,这也是一个非常有趣的时间,因为,真的大佬已经在暑期实习了,懵懂的同学还在等秋招,而我们知道他有个提前批,真正的中间级别同学发力的时候就在这里。

这时候面试的题目一般会稍微较难,但没关系,我们的准备时间也很足,而且放出来的名额比较多,你要相信,招聘的HR也希望率先锁定优秀的资源

提前批还有一个很好的点在于这时候投简历的人不多,如果你的学校学校不是很好,这个时间段也是有极大的机会有面试机会的,所以这是最容易进入大厂的时间段,如果错过了暑期实习,那么这个时候,拼一把,胜利女神在向你微笑。

  • 第三优先级 : 再然后就是真正的秋招了,群魔乱舞的时代出现了,这时候投简历的同学太多,质量参次不齐,HR,面试官,都面临着极度麻木,一天见N多的简历,一天面试N多的人,双方都很疲惫,HR为了快速高效,肯定会筛选简历。

那么最快的方式是什么,按学校,虽然看上去有一些不近人情,但没办法说人家做的不对,但这确实是最有效率的事(好学校出现优秀同学的概率最大)。

非名校的同学就没机会了么?

,有机会,这时候的机会就是,从笔试中杀出来,优秀的笔试成绩依然会带来面试机会,但相对的,这时候的难度其实已经高过前2个时间段了。不过好在这时候的岗位,放出来的是最多的,整个市场,上岸的机会是最大的。

  • 第四优先级 :再往后其实就是春招了,这个时间,已经是我比较不推荐的了,虽然他的面试难度和之前不会有太大的出入,但这个时候,大厂的HC(head count)已经饱和了,这时候招聘的就是一些拿到很多offer或者毁约同学的坑了,名额非常的少,厮杀的极为激烈,这是下下策。

所以综上所述,早下手,进入大厂的概率越高

Tips:

这一阶段的同学不可能在一棵树上吊死,所以很大概率大家是从无数的公司里投简历,那么有时候就会很乱,所以,建议各位同学们,务必做好自己的进度表整理,加上各种颜色做区分,以方便掌握整体进度,这是我自己校招时候的各家公司的进度表,仅供参考。

能力

说到能力,我们就要知道,面试需要什么?

作为中国应试教育的产物,最不怕的就是考试,面试是什么?也就是换了一种形式的考试。

那我们计算机面试考什么?

八股文,算法,系统设计

何为八股文?

其实很好理解,说白了就是我们专业的基础知识,基础知识扎牢了,干什么都不慌。

由于基础知识这些东西是不会变的,那么叫他八股文肯定是不过分的。

那这个知识怎么来学习呢?

  1. 平时积累(积累了你也了)

  2. 复习

复习才是正统的选择,平时会很多的知识,但除了一些印在骨子里的知识,比如int 多少个字节?很多都不是说上来的,我始终认为

人的大脑是一个具有基础知识缓存的庞大索引。

基础知识是缓存,随时用随时调,而其他的所有知识都是索引,我只要知道有这么一个东西,随时随地都可以通过查资料找到他们那就可以了。

所以在面试的时候,我们没有时间让你去查,那需要做的就是将这些知识刷成缓存,记在我们的脑海里。

这倒是没有什么特别的技巧,理解和背诵,说白了跑不掉。

但好久好在,我们可以找到老师为我们划重点

重点在哪里?在面经

比如牛客网,CSDN都可以搜索到无数的面试小伙伴们上传的面经和各类资料的整理

感觉是不是有点强行死记硬背的感觉?

虽然我很想说不是,Emmmm,好吧,至少在这个阶段是的。

基础知识扎实是你进入大厂的第一道门槛,收集整理是这个时候必须做的功课,不停的搜集知识点,整理归纳,将你的知识从薄到厚,然后再从厚变薄。

也就是不会的越来越多,然后整理的知识就越来越多,慢慢变厚

随着一点点的理解,记忆,厚厚的知识就会变得越来越薄,直至最后成为一张纸

并不需要全会,会的只要是百分之九十,就像很多AI算法一样,到百分之九十很容易,然后提升最后的百分之一难度就成了指数级的,保存精力,因为我们还有更重要的事,那就是下一part,算法。

算法

算法,是笔试,面试必须考的东西,而这个是没有捷径的,回答的好不好,会极大程度影响是否可以被录取,特别是字节,腾讯,权重最高的一部分。

唯一真实有效的方法只有一个,刷题。

刷题百遍,其义自见。

那么对于我们程序员核心的知识点大概是如下

基础算法:贪心、枚举、分治、二分、动态规划

数据结构:链表、队列、栈,树

排序

以上我列出来的并不是最全的,但却是最核心的,这就像是地方的最低工资,这不是上限,但却是务必务必满足的下限,请一定要掌握好。

排序,是我拉出来的重点,正常的排序算法,快排(包含优化),归并要做到原理脑中有,下笔随便写,基础但是非常重要,根据我当时的面试经验,简单的题目会让你直接写排序,难点的有些题目都是排序具体实现的变种,请大家一定要分外熟悉

而刷题的地方就很多了

那么我在这推荐2个也是大众的

  • LeetCode (专攻简单和中等的题目,请不要花费时间在难题上,时间也是我们自己珍贵的资源之一) https://leetcode-cn.com/

  • 牛客(很多考试都是直接在牛客上的,熟悉熟悉也是极好的) https://www.nowcoder.com/ 强烈推荐剑指offer系列

还有一个比较注意的点就是

白板书写

我们已经喜欢用IDEA 或者其他等等的IDE帮助我们快速高效的写代码,但面试很多情况下,比如现场面试,或者视频面试的时候,我们面对的都是一张白纸,没有那么多便捷的提示。

那么,白板书写也是要注意的点,因为,用惯了IDE,突然一个白板可能人就会懵,这就会浪费一个来之不易的机会。所以务必加强。或者至少自己测试测试,不能看见白板或者给你一张纸就懵。

系统设计

这个话题其实是一个距离我们大家比较远的东西,很多时候,在校的时候写的都是一个Demo,又或者在实习的时候也是在别人定好的大框架下添砖加瓦。

但这确实面试三板斧的最后一斧子,因为你的面试官,基本都是工作很久的程序员了,他们会面临很多设计系统,设计服务的问题,那么面试的时候询问这个也就会顺带着问问工作上解决或者未解决的问题。

一些常规的设计问题,比如

1 一个秒杀系统怎么做?

2 瞬时流量很高,平时流量很低,如果设计系统提高系统的资源利用率?

3 服务器分布在全国各地,如何保证设计一个隔离性很强的系统?

等等...

题目千奇百怪,那么有什么共同点呢,

这里告诉大家一个诀窍

合理

这个词很关键,什么叫合理?

  • 第一 在你脑子过整个系统架构的时候,一定可以解决或者缓解当前的问题,切忌中间漏了一环。

  • 第二 自圆其说,你会有很多的想法,或者设计思路,由于经验不足等等原因可能并不是很好的方案,但你提的每一个点,都需要有支撑。比如上面的第三个问题,可以物理隔离,分库分表,言之有理即可。

  • 第三 主流,市面上会有很多偏门的技术,请不要用,因为这种偏门的技术方案,很难得到认可,公司不会也不敢使用,在别人听来你的方案可信度就很降低,相信同行们,主流的架构,组件等等全都是经历无数流量还屹立不倒的。

可能第一次遇到这个问题的你不能给出最优的方案,但没关系,只要设想,你来做这个事儿会怎么做,就ok了。

结尾

说了这么多,那我们来总结一下

核心分为 运营能力

个人理解 能力的问题大家可能会懂,但运营比能力更重要

掌握各个阶段应该做什么事,你会发现,进入大厂也很简单

希望大家都可以进入自己心仪的公司。

也欢迎随时找我聊天,包括不限于 简历指导,压力疏导,知识点整理等

如果喜欢,点赞,关注,收藏走一手

这篇关于从未想到,进入大厂原来这么简单的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/723979

相关文章

csu 1446 Problem J Modified LCS (扩展欧几里得算法的简单应用)

这是一道扩展欧几里得算法的简单应用题,这题是在湖南多校训练赛中队友ac的一道题,在比赛之后请教了队友,然后自己把它a掉 这也是自己独自做扩展欧几里得算法的题目 题意:把题意转变下就变成了:求d1*x - d2*y = f2 - f1的解,很明显用exgcd来解 下面介绍一下exgcd的一些知识点:求ax + by = c的解 一、首先求ax + by = gcd(a,b)的解 这个

hdu2289(简单二分)

虽说是简单二分,但是我还是wa死了  题意:已知圆台的体积,求高度 首先要知道圆台体积怎么求:设上下底的半径分别为r1,r2,高为h,V = PI*(r1*r1+r1*r2+r2*r2)*h/3 然后以h进行二分 代码如下: #include<iostream>#include<algorithm>#include<cstring>#include<stack>#includ

【数据结构】——原来排序算法搞懂这些就行,轻松拿捏

前言:快速排序的实现最重要的是找基准值,下面让我们来了解如何实现找基准值 基准值的注释:在快排的过程中,每一次我们要取一个元素作为枢纽值,以这个数字来将序列划分为两部分。 在此我们采用三数取中法,也就是取左端、中间、右端三个数,然后进行排序,将中间数作为枢纽值。 快速排序实现主框架: //快速排序 void QuickSort(int* arr, int left, int rig

usaco 1.3 Prime Cryptarithm(简单哈希表暴搜剪枝)

思路: 1. 用一个 hash[ ] 数组存放输入的数字,令 hash[ tmp ]=1 。 2. 一个自定义函数 check( ) ,检查各位是否为输入的数字。 3. 暴搜。第一行数从 100到999,第二行数从 10到99。 4. 剪枝。 代码: /*ID: who jayLANG: C++TASK: crypt1*/#include<stdio.h>bool h

uva 10387 Billiard(简单几何)

题意是一个球从矩形的中点出发,告诉你小球与矩形两条边的碰撞次数与小球回到原点的时间,求小球出发时的角度和小球的速度。 简单的几何问题,小球每与竖边碰撞一次,向右扩展一个相同的矩形;每与横边碰撞一次,向上扩展一个相同的矩形。 可以发现,扩展矩形的路径和在当前矩形中的每一段路径相同,当小球回到出发点时,一条直线的路径刚好经过最后一个扩展矩形的中心点。 最后扩展的路径和横边竖边恰好组成一个直

poj 1113 凸包+简单几何计算

题意: 给N个平面上的点,现在要在离点外L米处建城墙,使得城墙把所有点都包含进去且城墙的长度最短。 解析: 韬哥出的某次训练赛上A出的第一道计算几何,算是大水题吧。 用convexhull算法把凸包求出来,然后加加减减就A了。 计算见下图: 好久没玩画图了啊好开心。 代码: #include <iostream>#include <cstdio>#inclu

uva 10130 简单背包

题意: 背包和 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#include <vector>#include <queue>#include <map>

JAVA用最简单的方法来构建一个高可用的服务端,提升系统可用性

一、什么是提升系统的高可用性 JAVA服务端,顾名思义就是23体验网为用户提供服务的。停工时间,就是不能向用户提供服务的时间。高可用,就是系统具有高度可用性,尽量减少停工时间。如何用最简单的方法来搭建一个高效率可用的服务端JAVA呢? 停工的原因一般有: 服务器故障。例如服务器宕机,服务器网络出现问题,机房或者机架出现问题等;访问量急剧上升,导致服务器压力过大导致访问量急剧上升的原因;时间和

简单的角色响应鼠标而移动

actor类 //处理移动距离,核心是找到角色坐标在世界坐标的向量的投影(x,y,z),然后在世界坐标中合成,此CC是在地面行走,所以Y轴投影始终置为0; using UnityEngine; using System.Collections; public class actor : MonoBehaviour { public float speed=0.1f; CharacterCo

列举你能想到的UNIX信号,并说明信号用途

信号是一种软中断,是一种处理异步事件的方法。一般来说,操作系统都支持许多信号。尤其是UNIX,比较重要应用程序一般都会处理信号。 UNIX定义了许多信号,比如SIGINT表示中断字符信号,也就是Ctrl+C的信号,SIGBUS表示硬件故障的信号;SIGCHLD表示子进程状态改变信号;SIGKILL表示终止程序运行的信号,等等。信号量编程是UNIX下非常重要的一种技术。 Unix信号量也可以