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

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

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

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

背景 {#toc_0}

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

考研or就业 {#toc_1}

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

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

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

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

学习过程 {#toc_2}

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

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

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

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

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

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

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

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

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

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

面试心得 {#toc_3}

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

Java基础 {#toc_4}

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

Java容器 {#toc_5}

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

Jvm {#toc_6}

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

Java并发 {#toc_7}

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

设计模式 {#toc_8}

五大原则,工厂模式,迭代器模式,观察者模式,适配器模式,策略模式,代理模式,外观模式,享元模式,单例模式,装饰者模式,组合模式,模板方法模式等

408(计算机学科专业基础综合) {#toc_9}

进程线程和协程,内存管理方式,常见linux命令top,ps,cat等,网络模型,nio(epoll,poll,select),bio,aio,虚拟内存,页面替换算法,磁道调度算法,银行家算法,死锁定义,CPU调度算法,哲学家问题,理发师问题,进程内存分配,进程切换过程,内存管理方式

7层模型,url的执行过程,HTTP1,2和HTTPS,TCP和UDP,SYN泛洪,TIME_WAIT处理方式,中间人攻击,TCP的沾包和拆包,XSS,CSXF,DDOS,SQL注入

链表和数组,翻转链表,树的镜像,树的遍历,合并有序数组,topK问题,大数据找中位数,大数据排序,快速找到某个人的排名,红黑树,AVL树,B+树,各种排序,这个刷LeetCode就完事了

MySQL {#toc_10}

隔离级别,ACID,ACID如何实现,MVCC,索引,前缀索引,回表,最左原则,聚簇索引,非聚簇索引,覆盖索引,hash索引,索引下推,索引结构,Innodb和MyISAM,间隙锁,行锁,表锁,relog,undolog,binlog

Redis {#toc_11}

缓存一致性,持久化方式,网络模式,IO方式,性能高的原因,为什么单线程,集群方式,分布式锁,Redis如何保证多条命令单线程执行,Redis的数据结构,跳表

Nginx {#toc_12}

负载均衡方式,为什么可以负载均衡,为什么可做反向代理,nginx有什么功能,如何保证缓存时间不一致,怎么设置Nginx

SSM {#toc_13}

spring的启动流程,springboot的启动流程,aop和ioc,springboot的SPI,mybatis的代理模式,#和(,为什么)不可缺少,bean的生命周期,SSM的设计模式,Spring的事物,bean的相互依赖

其他 {#toc_14}

项目流程,限流器,LRU算法,黑名单算法,项目亮点,项目难点,团队如何协作,如何快速找到互相关注的人,tomcat的启动流程,微服务,RPC流程,MQ,docker,k8s,分布式事物,CASE和CAP

关于面试方面,建议和别人一起对练,包括自我介绍(准备两个,一个技术,一个hr),然后通过简历互相问技术。真正面试的时候,一定要放轻松,然后不会的地方就说不会,会一点的地方一定要把会那一点说出来。不要跟面试官说你准备过什么的,这样就显得太刻意了。

关于简历 {#toc_15}

个人认为还是不要写的花里胡哨的,WonderCV(https://www.wondercv.com/ )就很不错。简历照片也要来一张好看的,个人觉的白底比较好。

简历最前面的肯定是个人信息(GPA,学校,课程),接着是掌握的技术栈(可以分为Java,DB,框架,其他)。

再后面的板块,就是写自己的项目或者实习经历。接着写自己的获奖情况。最后写自己的个人说明。

如果有个人博客或者Github写的比较好,这当然也是加分项。

参考资料 {#toc_16}

这里不贴具体的面试题了,大家有需要可以到我的公众号里拿:王星星的魔灯

下面是我面试时候的参考资料,希望对大家有帮助

Google(https://www.google.com ):Google和Baidu无疑对大家的帮助是最大的,遇到问题不要动不动就问别人,问之前要想一想自己能不能通过其他途径搜索到。

Hollis的个人博客/知识星球/公众号(https://www.hollischuang.com ):H哥的博客和直面Java帮我梳理了Java体系,非常感激!

王星星的魔灯(https://blog.csdn.net/coder_what ):这个是我的博客,里面记录了我的成长过程

田小波的技术博客(http://www.tianxiaobo.com/ ):这位大牛的博客我是在百度的过程中偶然发现的,也非常不错

IdeaBuffer(http://ideabuffer.cn/categories/开发手册/J-U-C/ ):同上

JavaGuide(https://snailclimb.gitee.io/javaguide/#/ ):面经必备

淘宝秒杀系统设计(https://yq.aliyun.com/articles/64762 ):可以对J2EE的秒杀设计有一个非常好的了解

写到最后 {#toc_17}

其实说实话,我最开始准备春招的时候根本没想过去阿里实习,我记得我同桌之前还问我如果XX(另一个互联网公司)要我我去不去,当时我还跟他说怎么可能不去,XX要我我就谢天谢地了。

我记得在第一面试的时候我牙都是哆嗦的,具体的面经在我公众号上有写。

在面试过程中经历了许多场情绪波动,面试过了高兴,面试失败难过,怀疑自己。

现在想想,其实面试也是一种历练自己的过程,提高自己对情绪的掌控能力,用阿里的方言来说,就是更加皮实了。

面试其实是一种运气,有的人遇到了大牛面试官,可能问的问题比较难,有的可能又比较简单,所以千万不要轻易否定自己。同时,拿到offer之后还要尽早做规划,不能得意忘形,互联网本来就是一个持久学习的行业,不断的充实自己,才能为祖国的健康发展做贡献!

最后给大家分享几点感悟把:

  1. 保持自信,时刻告诫自己不要自卑,更不能自傲
  2. 给自己列一个计划
  3. 早睡早起
  4. 坚持坚持坚持

以上,就是作者的原文描述,看下来之后,感觉和我自己准备校招的过程很像,我当年参加校招之前的那个假期,也是只在家里面待了几天而已,其余时间都是在学校进行复习。

学习的方式也是各种刷题,然后根据笔试、面试题中的知识点,自己去翻书、找博客等,逐一趣攻破。

还有就是作者说自己没想过来阿里实习,我当时也一样,我比原作者还差一点,就是本文作者好歹是211院校的,我当时只是个双非二本的一个学生。刚开始也是想着如果能拿到一个稍微出名一点的互联网公司的Offer就满足了,只是后面在复习过程中,不断努力,最终拿到了完全超乎自己预料的Offer

本文由博客一文多发平台 OpenWrite 发布!

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

  1. 多次面试被拒,‘宅家苦修’30天,终获美团offer(含字节跳动/阿里/腾讯等大厂面试题整理)

    背景:双非渣本. 今年由于疫情,上半年一直在家里.2月份本来无忧无虑,呆在家里不给国家添乱的时候,发现身边的同学找到了大厂的offer.心里开始有点慌张.本来想在3月份如果能回到学校,就开始考研之路, ...

  2. 春招后端阿里腾讯字节美团Offer拿来吧你,面试经验分享

    近期很多童鞋在准备校招了,找了蚂蚁的一位童鞋,给大家分享一波面试经验,以及面试心得,希望能帮大家在秋招拿到一个好结果 我自己的22届春招实习算是告一段落,给自己做个总结,也给大家分享一下面试的一些心得 ...

  3. 支付宝开通海外退税 阿里腾讯暗战跨境O2O_21世纪网

    支付宝开通海外退税 阿里腾讯暗战跨境O2O_21世纪网 支付宝开通海外退税 阿里腾讯暗战跨境O2O

  4. 我的阿里、腾讯暑期实习Offer经历

    三四月份对我拿来说是个忙碌的两个月,实验室项目到了关键的时刻,自己又需要抽身去找暑期实习,总之过得很快.值得欣慰的是幸运的拿到了阿里和腾讯的暑期实习offer,也算是对三四月份的忙碌一些回报吧.阿里的 ...

  5. 被一位读者赶超,手摸手 Docker 部署 ELK Stack

    被一位读者赶超,容器化部署 ELK Stack 你好,我是悟空. 被奇幻"催更" 最近有个读者,他叫"老王",外号"茴香豆泡酒",找我崔更 ...

  6. 算法转 Java 后端,2021秋招斩获腾讯、京东、百度等大厂 offer 面经分享!|JavaGuide|Guide哥

    这是一篇来自算法转Java后端的一位读者的投稿!文章主要分享了作者从迷茫崩溃到最终斩获腾讯.京东.百度等大厂 offer 的经历.文章内容很全面.真实,相信可以对正在准备面试的小伙伴有帮助! 看到公众 ...

  7. SaaS平台是什么,为什么字节、腾讯等大厂都在抢相关人才

    SaaS平台很多人可能没听说是什么,但是从事TO  B公司的员工来说,SaaS平台应该都有所耳闻.从2016年开始,腾讯开始发力TO B算起,到处在挖TO B公司的骨干人才,而熟悉SaaS平台的人才竞 ...

  8. 在单链表的第i个位置后插入一个节点(阿里+腾讯等面试题总结)

    时间:2014.04.26 地点:基地 ------------------------- 一.题目 题目是非常easy和基础,就是在单链表的第i个位置后插入一个节点.要求写代码,5分钟之内完毕.面腾 ...

  9. 2019Android阿里&腾讯&百度&字节面试汇总(附面试题总结、Android书单)

    1.基本情况 先简单说说我今年的面试经历吧,本人2018届211软件工程硕士生,Android开发岗.此文主要是2019年年初春招的面试和秋招面试经验汇总,最终拿到了阿里,腾讯,字节跳动,百度等off ...

随机推荐

  1. javascript设计模式和开发实践(阶段一)

    1,设计模式的作用:让人们写出可复用和可维护性高的程序,代价可能是,额外增加代码量: 比较形象的例子:空房间里面放东西,如果日复一日的往里面扔东西,时间久了,很难找到自己想要的东西,调整也不容易,但是 ...

  2. js中 __proto__ 和 prototype

    js中的对象都有__proto__属性存在[隐式原型],注意是两个_, 1,javascript对象的__proto__指向的是该对象的构造函数的原型对象,即constructor.prototype ...

  3. c:\Windows\system32\rundll32.exe Windows无法访问指定设备、路径或文件,你可能没有适当的权限访问该项目

    非常懂如何修改权限的可以尝试,否则老老实实地重新注册的系统的.dll文件 重新注册方法如下: WIN+R下输入命令: cmd /c for %i in (%windir%\system32\*.dll ...

  4. 【vue】---- v-model在自定义组件中的使用

    1. v-model简介 可以用 v-model 指令在表单 <input>.<textarea> 及 <select> 元素上创建双向数据绑定,它的本质是一个语法 ...

  5. scrapy启动

    创建项目 在开始爬取之前,您必须创建一个新的Scrapy项目. 进入您打算存储代码的目录中,运行下列命令: scrapy startproject scrapytest 第一种scrapy gensp ...

  6. Go 的 http 包的源码,通过代码我们可以看到整个的 http 处理过程

    func (srv *Server) Serve(l net.Listener) error {defer l.Close() var tempDelay time.Duration // how l ...

  7. iview admin template 基础模板架子

    https://github.com/iview/iview-admin/tree/template

  8. HTML每日学习笔记(0)

    2019.7.14 1.属性为 HTML 元素提供附加信息,总是在 HTML 元素的开始标签中规定. 例子:<h1 align="center"> 对齐方式 <b ...

  9. DS博客作业02--栈和队列

    0.PTA得分截图 1.本周学习总结 1.1总结栈和队列内容 栈的存储结构及操作 栈的顺序存储结构 typedef struct { ElemType data[MaxSize]: int top: ...

  10. [Visual Basic]二分查找

    模板 i=1:j=n 'i初值为1,j初值为n Do while i<=j '当i<=j时,通过循环进行查找 m=fix((i+j)/2) '计算出中间元素的下标m If d(m)=key ...