作者 l 王星星的魔灯

本文经授权转载自Hollis(ID:hollischuang)

背景 

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

考研or就业

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

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

  1. 自己更想就业还是更想上研究生

  2. 为什么想就业,为什么想上研究生

  3. 你对研究生要研究的领域真的感兴趣吗

  4. 哪个把握更大一点

  5. 学历真能成为你的硬伤吗

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

学习过程

我是从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年实习,所以我在大三上学期就有些懈怠,同时还参加了一个人流量预测比赛。

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

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

面试心得 

个人认为我准备的比较充分。我准备的具体流程为上牛客找面试题,然后归类总结,最后在通过百度谷歌找出这些问题的答案,自己再进行理解,循环往复,就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,生产者消费者模式。

设计模式

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

408(计算机学科专业基础综合)

进程线程和协程,内存管理方式,常见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

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

Redis

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

Nginx

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

SSM 

Spring的启动流程,SpringBoot的启动流程,IOC与AOP,SpringBoot的SPI,Mybatis的代理模式,#和(,为什么)不可缺少,Bean的生命周期,SSM的设计模式,Spring的事物,Bean的相互依赖。

其他

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

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

关于简历

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

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

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

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

参考资料

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

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

  • 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/%E5%BC%80%E5%8F%91%E6%89%8B%E5%86%8C/J-U-C/ ):同上

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

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

写到最后 

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

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

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

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

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

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

  1. 保持自信,时刻告诫自己不要自卑,更不能自傲

  2. 给自己列一个计划

  3. 早睡早起

  4. 坚持坚持坚持

【END】

更多精彩推荐

没有监控和日志咋整?老程序员来支招

朱广权李佳琦直播掉线,1.2 亿人在线等

RPC 的超时设置,一不小心就是线上事故!

拿下 Gartner 容器产品第一,阿里云打赢云原生关键一战!

深聊 Solidity 的测试场景、方法和实践,太详细了,必须收藏!

万字干货:一步步教你如何在容器上构建持续部署!

☞据说,这是当代极客们的【技术风向标】...

今日福利:评论区留言入选,可获得价值299元的「2020 AI开发者万人大会」在线直播门票一张。  快来动动手指,写下你想说的话吧。

点击阅读原文,精彩继续!

你点的每个“在看”,我都认真当成了喜欢

刚刚收割阿里、腾讯等大厂 Offer,他说这些话一定要和你们说一下相关推荐

  1. 实习生招聘收割阿里、腾讯等大厂Offer后,有些话想和应届生说

    原文地址: http://www.hollischuang.com/archives/4613 背景 本人211(郑州大学)21届本科毕业生,和大佬相比,我还是一只蒻箕.不过在H大博客和知识星球的帮助 ...

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

    作者 l 王星星的魔灯 来源 l Hollis(ID:hollischuang) 本文来自读者投稿,作者是我的一位资深读者,也是我知识星球的球友,最近在春招中收割了很多大厂的Offer.看了他总结后, ...

  3. 从大学入门到研究生拿大厂offer,必须看的数据结构与算法书籍推荐,不好不推荐!

    点个赞,看一看,好习惯!本文 GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了3个月总结的一线大厂Java面试总结,本人已拿腾 ...

  4. 我的大学到研究生自学 Java 之路,过程艰辛,不放弃,保持热情,最终发现我是这样拿到大厂 offer 的!...

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:本人真实经历:面试了20家大厂之后,发现这样介绍项目经验,显得项目很牛逼! 这一部分,其实,以前在自己的公众号写 ...

  5. java 模仿支付成功_我的大学到研究生自学 Java 之路,过程艰辛,不放弃,保持热情,最终发现我是这样拿到大厂 offer 的!...

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:本人真实经历:面试了20家大厂之后,发现这样介绍项目经验,显得项目很牛逼! 这一部分,其实,以前在自己的公众号写 ...

  6. 推荐一个很牛逼的 Github 项目:本人历时半年完成的【Java 面试 + Java 后端技术学习指南】,已拿大厂offer

    今天给大家分享一份[Java 面试 + Java 后端技术学习指南]:一份通向理想互联网公司的面试指南,包括 Java,技术面试必备基础知识.Leetcode.计算机操作系统.计算机网络.系统设计.分 ...

  7. 收割百度、阿里、腾讯、头条、网易华为等大厂Offer的面经

    转载自   收割百度.阿里.腾讯.头条.网易华为等大厂Offer的面经 本文作者是跨专业考研的985硕士一枚,经历研究生两年的学习积累,有幸于2019秋季招聘中拿到几个公司的研发岗offer,包括百度 ...

  8. 双非院校非科班的学弟,刚刚拿到了腾讯、网易、美团等大厂Offer

    △Hollis, 一个对Coding有着独特追求的人△ 这是Hollis的第 359 篇原创分享 作者 l 霜华 来源 l Hollis(ID:hollischuang) 本文来自作者投稿,作者是是双 ...

  9. 二本院校学弟大二开始实习,大三收割阿里、腾讯实习offer

    点击上方 "大数据肌肉猿"关注, 星标一起成长 后台回复[加群],进入高质量学习交流群 2021年大数据肌肉猿公众号奖励制度 今天介绍的是学校的直系学弟,二本独立院校软工专业,他大 ...

最新文章

  1. Samba amp; Nginx - Resource temporarily unavailable
  2. 哈希表(HASHTABLE)
  3. SQL SERVER大话存储结构(2)
  4. boost::mp11::mp_replace_second相关用法的测试程序
  5. 第一个Appium脚本
  6. Python风格总结:错误和异常
  7. 2016-2017-2 20155117实验二《Java面向对象程序设计》实验报告
  8. “攀哥”离场 不掩融云组最强战舰技术顶流如云
  9. Android MaterialButtonToggleGroup
  10. response.sendRedirect()与request.getRequestDispatcher().forward()区别
  11. Android 下拉刷新组件SwipeToLoadLayout源码解析
  12. DM420步进电机驱动器
  13. sprint tool suite启动tomcat
  14. 笛卡尔坐标为什么叫Cartesian coordinate而不是Descartes coordinate?
  15. spark常用的linux命令,GitHub - Sparkinzy/linux-command: Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集。...
  16. 【DevOps】总结下容器方式构建Grafana-reporter生成PDF格式报告
  17. python中数据类型判断方法(学习笔记)
  18. 敢问路在何方 路在脚下
  19. 解决string not in pwd
  20. js实现1-100以内的质数

热门文章

  1. apache代理weblogic集群办法
  2. 第三章 游戏软件工程基础
  3. VS开发工具常用插件
  4. [Ubuntu] 使用 ibus 输入汉字
  5. 力扣--48旋转图像(中等)
  6. redis 3.0.0 linux下载,CentOS7安装配置redis-3.0.0
  7. rust笔记11 生命周期引用有效性
  8. 中国连接系统市场趋势报告、技术动态创新及市场预测
  9. 《Python游戏趣味编程》新书上架了
  10. vue-router路由懒加载(解决vue项目首次加载慢)