专栏首页Java那些事双非本科没有项目经历,如何进入BATJ等一线公司?

双非本科没有项目经历,如何进入BATJ等一线公司?

阅读本文大概需要 6 分钟。

没有项目经历,如何找到大厂实习?这个问题是有读者后台留言问过的,相信这个也是很多人的困惑,希望这篇内容能对你有所帮助。

“基础 + 算法 + 项目 + 进阶 = 好的一线互联网公司offer”

1.基础

计算机的基础指的是什么?

操作系统(进程、线程、调度算法、slect、epoll、poll等) ,计算机网络(三次握手、四次挥手、tcp/ucp区别、为什么是三次握手和四次挥手、状态码、七层模型、https/http等) ,数据库(索引、索引原理、sql优化、B+树、mysql操作语法、数据库引擎区别等),linux(常用操作命令)、 设计模式(单例模式尤其重要、可能也会让你写个工厂模式、观察者模式,反正每个常用模式要自己学会准备一两个手写实例)。

安全方面的知识(DES、RSA、数字签名证书/对称加密、非对称加密) 除了这些通用的以外其它就是加一门语言基础,你投 Java 岗就是 Java 语言基础,C++ 岗就是 C++ 语言基础。

这里说一下Java 语言基础,Java 的话语言基础一般都很通用,之前也发过一些文章,【BATJ面试必会】Java 基础篇 (一)

除了这些就是Java 集合(hashmap hashtable ArrayList LinkedList ConcurrentMap等原理,插入删除更新扩容原理) Java 并发(锁、volatile、reentrantlock、synchronized这些原理以及之间的区别、消费者生存者实例书写)。

2.算法

算法的话《剑指offer》这上面的题一定得会做,牛客网有对应的Oj(Online Judge)训练,每一道题最后的目的是要自己5-10分钟内不看任何参考内容不使用任何搜索引擎可以直接手写出来,包括但不限于在纸上、IDE、记事本中等都要做到写出来,这里如果半小时没有思路,建议直接看看别人的题解,我之前也有过Java版的实现《剑指offer》,有需要的也可以参考下66道剑指offer题解附答案

这里《剑指offer》中复杂链表的复制这道题目我阅经无数(经:面经),但没见过这道题目出现在面经中,其它或多或少都出现过,所以如果时间不够,这道题目可以放一放。(PS:希望不要有面试官看到我这篇文章。。。)

算法进阶:《剑指offer》熟练掌握的情况下,可以去刷leetcode,leetcode这个刷题数量,得自己安排时间了,根据自己的情况灵活投放时间再leetcode上,如果时间不充裕,那么刷完《剑指offer》也是可以应付绝大多数的面试算法。

可能有些人会问互联网公司出的问题都是《剑指offer》上面的吗?部分公司会出原题,部分公司算法难度的低于《剑指offer》,不一定会出原题,但你要是能熟练掌握上面的算法,那么是举一反三的效果。

3.项目

项目的话,个人认为不要做一些烂大街的商城项目,如果实在是时间仓促、没有准备,那也是没有办法的办法,准不能空手上阵,对吧~

牛客网叶神的高级项目,向来口碑不错,可以做一下。还有如果你之前有过实习经历/工作经历,也可以当做自己的项目。做完以后对于里面涉及到的技术,比如说redis等,要去学习redis的原理,因为面试管一般喜欢从你的项目的某一个技术开始深入,各种姿势360°无死角追问你,直到你气喘吁吁,发出“嗯,啊,不知道”之类的连续词语之后,才会善罢甘休,所以为了你的体验良好,一定要对你项目中用到的技术做到心中有数。

上面说的redis只是举的一个例子,不要生搬硬套,对应你项目中涉及到的其它技术也是类似的。至于如何深入,可以看相关的技术书籍、可以去搜索涉及到的技术中在面试中出现过的问题,总之,就是自己用心去思考面试官会怎么问你。

我们做完的项目不是做完就完事了,这个是在整个面试过程以及整个求职月等都要不断完善的,哪里不好了及时去修改去完善去调整你在面试中的说辞,实在不会的技术你直接删除掉,灵活一点,活人还能让尿憋死?

这是我之前的一篇项目文章,希望能给各位一点启发。可以作为你面试的项目亮点的文章,不来看看吗?

如何学习JavaEE,项目又该如何做?

4.进阶

上面说的内容完全掌握,已经可以拿到一些比较好的互联网的公司的offer,进阶内容的话是在你有余力的情况下,去学习,上面的内容是你在时间不是很充裕的情况下,一定要搞定的东西。

算法方面的话,如果你有余力,那么去刷个几百道leetcode,可以去深入学习红黑树、平衡树等内容,可以做到手撕红黑树,这个技能很多人没有,在其他情况相同的前提下,你如果会这个,那么你猜猜谁最后笑到最后?

数据库方面,去学习nosql,也就是redis,了解redis数据结构底层原理等内容。 JavaWeb方面,去学习Spring,目前关于Sqring已经更了两篇,接下来还会更一篇。

去学习分布式、微服务、Spring源码、消息队列、Netty/RocketMQ/Tomcat源码解析等。

5.最后

除了上面这些,其它还有就是简历(要内推免简历筛选)、自我介绍(打磨出亮点和自己的熟悉点)、HR面试(求生欲强一些,当一时的舔狗又如何)等也需要上点心,但1-4的内容是主体,是你需要掌握的核心的内容,是内功,张无忌内功深厚,才可以决战光明顶,一人之力单挑七大派!

———— e n d ————

本文分享自微信公众号 - 程序员乔戈里(CXYqiaogeli)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-03-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • JAVA运行时数据区域

    根据《Java 虚拟机规范(Java SE 7版)》规定,Java虚拟机所管理的内存将会包括一下几个运行时数据区域:

    爱撸猫的杰
  • JS the Hardcore: 执行上下文(Execution Context)

    是的,这样解释也可以,但是不够准确。如果仅仅理解到这个层面,而不把这里面涉及到的「执行上下文」(Execution Context, 下面简称 EC)这个概念弄...

    疯狂的技术宅
  • 实用 | 读源码,学JavaScript

    Javascript于1995年由网景公司的Brendan Eich发明。 最初发明的目的是作为一个简单的网站脚本语言,来作为复杂网站应用java的补充。但由于...

    疯狂的技术宅
  • 面向 JavaScript 开发人员的 ECMAScript 6 指南(3):JavaScript 中的类

    在 第 2 部分 中,您学习了 ECMAScript 6 中的函数增强,包括新的箭头和生成器函数。将函数元素集成到 JavaScript 代码中意味着要重新考虑...

    疯狂的技术宅
  • 学习大数据开发需要掌握哪些知识点?

    大数据已经成为时代发展的趋势,很多人纷纷选择学习大数据,想要进入大数据行业。大数据技术体系庞大,包括的知识较多,系统的学习大数据可以让你全面掌握大数据技能。学习...

    用户2292346
  • 现代 JavaScript 开发有点小难

    总有人在抱怨如今的 JavaScript 开发变得多么多么复杂,这种现象并不罕见。当一个新人开始学习 JavaScript 的时候,其实我是对他抱有同情的。

    疯狂的技术宅
  • 程序员工作 996 生病 ICU ?

    说实话,一般平时这个点我已经睡着了,今天准备好的文章也会准时在凌晨推送给大家。睡前看篇关于强制 996 加班的消息,里面有句口号还挺溜,上班996,下班ICU,...

    孤独键客
  • 避免这些常见的JavaScript错误

    在今天,JavaScript是最流行的编程语言之一,如果你希望钻研JavaScript,这里有几个需要避免的问题

    疯狂的技术宅
  • 大众美团服务链监控CAT

    CAT 作为服务端项目基础组件,提供了 Java, C/C++, Node.js, Python, Go 等多语言客户端,已经在美团点评的基础架构中间件框架(M...

    爱撸猫的杰
  • Java 的强引用、弱引用、软引用、虚引用

            强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。如下:

    爱撸猫的杰

扫码关注云+社区

领取腾讯云代金券