专栏名称: HollisChuang
Developer
目录
相关文章推荐
51好读  ›  专栏  ›  HollisChuang

一位读者刚刚收割阿里、腾讯等大厂Offer,他说这些话一定要和你们说一下

HollisChuang  · 掘金  ·  · 2020-04-08 02:57

正文

阅读 201

一位读者刚刚收割阿里、腾讯等大厂Offer,他说这些话一定要和你们说一下

本文来自读者投稿,作者是我的一位资深读者,也是我知识星球的球友,最近在春招中收割了很多大厂的Offer。看了他总结后,我发现很多地方和我当年参加校招的时候很相像,甚至比我那个时候还要优秀。分享给大家,和大家一起共勉。

中间还有个小插曲,这位读者曾在准备参加校招之前,找我帮他指导过简历。后来我收到一份面试任务,仔细一看简历,怎么这么似曾相识,结果对比后发现正式我之前看过的那份。

因为我们认识,而且还帮他指导过简历,所以一方面为了避嫌。还有就是因为我的知识星球里面有很多关于面试题的内容,如果让我来面试他的话,有可能会刻意的避开那些题,这样对他来说也不公平。所以我特意找同事帮忙进行了面试。不过最终结果总归是好的,果然是真的优秀,可惜错过了一次直接Battle的机会。

好了,废话不多说了,以下是他的原文:

背景

本人211(郑州大学)21届本科毕业生,和大佬相比,我还是一只蒻箕。不过在H大博客和知识星球的帮助下,我终于在20年实习招聘时拿到了阿里(Java)和腾讯(后台转C++)的offer,回想准备面试以及学习的这一路走来,尽管有些崎岖,但终于如愿以偿。

考研or就业

这里不考虑保研的情况,因为如果可以保研的话,我相信大多数人都会选择保研。

其实我的GPA也不低,曾经误以为自己可以保研,但是低估了我们专业的狗血程度,所以就在大二下学期慢慢接受了不能保研的事实。但是由于我还想在大学还没玩够(主要是大学没对象),就想上个研究生,所以在大三上就萌生了考研的念头。为什么我最后没有选择上研究生呢?我相信每个人的处境都不相同,原因也都不尽一样。在这里我说一下大家应该考虑的几个点:

  1. 自己更想就业还是更想上研究生
  2. 为什么想就业,为什么想上研究生
  3. 你对研究生要研究的领域真的感兴趣吗
  4. 哪个把握更大一点
  5. 学历真能成为你的硬伤吗
  6. ...

最后说一句:人生是一个不断选择的过程,每个选择都没有对错,只要你想,无论考研还是就业,都能成功!

学习过程

我是从19年4月从打CTF转到Java的,当时也算是比较幸运,遇到了工程能力比较强的副教授给我们上Java课,并不是给我们讲Java语法,而是从Jvm开始讲起,也算是让我直接对Java入了门。

然后和我同桌( blog.csdn.net/qq_42322103 )一起学习Java,看同桌给我分享的黑马的教程(PS 后来发现这些东西全讲的API哈哈哈,但确实让我们对整个Java体系有了了解)。

有空就看,晚上一直学习到10点半才回宿舍睡觉,早上7点半到教室还能再看一会。

然后每看一个章节都把笔记放到CSDN( blog.csdn.net/coder_what )上,就这样的学习强度一直持续到了暑假。

期间还做了一个基于BIO+Swing的学生管理系统,也算有些收获。

暑假时我只在家呆了7天,在学校学习了SSM,然后基于SpringBoot和Vue做了一个前后端分离的个人博客系统( wxxlamp.cn )。

整个博客的需求分析,设计,编码和运维都是我一个人负责的,俗话说,麻雀虽小,五脏俱全,通过这个博客,我熟悉了中小型软件开发的整个流程,收获也确实不小。

然后由于计划是准备20年实习,所以我在大三上学期就有些懈怠,同时还参加了一个人流量预测比赛。

这里我确实有些遗憾,如果我意识能更早一点,就可以在大三上学期准备实习和面试,然后大三寒假就可以拿到实习资格,但是当时也不太懂,所以就拖到了大三的寒假准备实习。

在准备面试的过程中,这其实是一个磨心态的过程,难免会有自卑和自傲的时候,一定一定要调整好状态,重新出发,“厂子千千万,不行咱就换”。

面试心得

个人认为我准备的比较充分。我准备的具体流程为上牛客找面试题,然后归类总结,最后在通过百度谷歌找出这些问题的答案,自己再进行理解,循环往复,就ok了。下面我列一下一些面试(Java)常见的问题:

Java基础

泛型,面向对象和面向过程的区别,语法糖,包装类和基本类型,stream,lambda,多态实现方式,==/equals/hashCode(),static和final,内部类,接口和抽象类,编码方式,异常,IO,反射

Java容器

Collection和Map,HashMap的结构(1.7和1.8),hashMap的几个变量,初始化值,LRU与LinkedHashMap,ArrayList的扩容原理,如何使容器变得线程安全,队列的使用场景

Jvm

编译执行or解释执行,常量池,类加载过程,实例初始化过程,GC算法,Jvm内存空间,常见的Jvm命令如jstat,jhat,jmap,jinfo,内存泄露怎么处理,如何定位while死循环和死锁

Java并发

jmm,volatile,synchronized,并发编程的三个特性(如何保证),Object的几个方法,Thread的几个方法,线程五个状态,JUC包(并发容器,lock,工具类,线程池,原子类),AQS原理,ThreadLocal,线程的,多线程循环打印abc,生产者消费者模式







请到「今天看啥」查看全文