三年经验,非科班自学JAVA的我拿到了字节和阿里的offer
2021/8/20 14:05:52
本文主要是介绍三年经验,非科班自学JAVA的我拿到了字节和阿里的offer,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
前言
博主18年毕业于一所双非本科,学的也不是计算机专业,一次偶然的机会接触了C语言,感觉非常的神奇,原来编程可以那么好玩,从此下定决定自学JAVA,期间也是付出了很多的努力。
毕业后不久进入了卡中心,说实话当年卡中心肯收留我真的没想到,毕竟我觉得当年我就是个菜鸡!
现在差不多有三年的的经验了,由于公司的业务技术已经不能满足我了,我决定出去看看,7月份先后面完了字节、阿里和拼多多,并成功拿下了阿里和字节的offer。
顺便提一下面试体验:字节>阿里>拼多多
这里我要重点点名批评一下拼多多!拼多多是面试体验最差的公司,没有之一!
我约的视频面,结果面试官说有事给我打电话面,然后给我一个文档,是一个算法。我在写算法的时候没察觉到电话信号不好断掉了。然后我回拨过去,面试官来了一句:你不要故意挂断电话去查答案。我%@#¥@#%@5,保持微笑解释信号不好。后来为了信号好一点我去阳台面试,冻的瑟瑟发抖,这个时候心态已经炸了,又冷又紧张,算法题有思路但是一直被这个人否定,最后挂了。
正文
头条
最开始面的头条游戏中台,当时是第一次面试,没有经验,导致算法题虽然有思路,但是没有写出最优解,直接挂了。后来又被捞起来,因为此时已有阿里的offer,所以胆子也大起来了,收拾心情开始面头条。
头条的面试特点基本就是一个套路:【自我介绍】->【项目介绍】->【手撕算法】->【基础知识】,屡试不爽。
- 自我介绍:我是xxx,来自xxx,毕业后在xxx几年,期间负责xxx。
- 项目介绍:xxxxx。项目的时候面试官会问你难点和解决方案,同时会给你提出场景,问你更优化的思路。
- 手撕算法:多刷题,也可以看看别人面过的算法题,可能会重复。
- 基础知识:针对简历写的东西问,我被问的较多的是一些中间价,Redis、MySQL、Kafka、ElasticSearch,Java基本没问,因为头条这边使用Go。
三个工作日收到了offer,头条面试体验还是很棒的。
阿里
然后又找朋友内推的蚂蚁金融核心,结果第二天就被拒了,杭州淘宝给我来电话,说我被捞起来了。确认了一下,确实如此,那就面吧。
还是很想去阿里的,所以也很忐忑,淘宝一共经历了4轮技术+1轮笔试+hr面,流程很长,面的我压力山大。
阿里的面试特点:【自我介绍】->【项目介绍】->【场景解决】->【基础知识】,阿里面试除了基础以外,也很看重候选人的解决问题的思维。还是需要候选人有点积累的,假如你写的项目不是自己的,很容易就被问出来。
阿里的面试流程很长,而且一个部门挂了以后,会被另一个部门捞起来,不停的面。总之来说,阿里的面试体验也还不错,就是经常被放鸽子。支付宝的面试经验其实也大同小异,我就不贴了。
经验分享
1.准备一份好的简历(敲门砖,不会包装简历的程序员只能去外包)
程序员的简历一定要多下一些功夫,尤其是对一些字眼要再三斟酌,如“精通、熟悉、了解”这三者的区别一定要区分清楚,否则就是在给自己挖坑了。当然不会包装,我可以将我的简历给你参考参考,如果还不够,那下面这些简历模板任你挑选:
2.了解面试公司,做好功课,知道问什么
对一线互联网大厂的面试点,我也做了以下总结:
- 阿里巴巴、百度、腾讯
- 字节跳动、美团、京东
3、梳理知识体系,学会举一反三
实际上,梳理知识体系是最简单的事,但很多开发小白总是一头雾水,实际上从第二点的大厂面试点就可以总结梳理出来我们应该要学什么,要掌握什么,通常我的方法是“大厂面试点”+“工作年限”来梳理自己接下来的学习及发展路线图。
之后,就需要根据路线图上的重点去进行有针对性的学习,在学习过程中,学会举一反三,学会写笔记,做总结。
这里我分享我个人的一些笔记内容吧:
注:本文限于篇幅,故而只展示部分的文档截图,完整的Java学习文档和简历模板我已经帮你们整理好了,需要的同直接点击这里即可领取
java高并发核心编程
多线程原理与实战;
Java内置锁的核心原理;
CAS原理与JUC原子类;
可见性与有序性的原理;
JUC显式锁的原理与实战;
AQS抽象同步器的核心原理;
JUC容器类;
高并发设计模式;
高并发核心模式之异步回调模式;
CompletableFuture异步回调;
JVM
- JVM内存区域
- 内存溢出异常
- 垃圾收集器
- 内存分配策略
- 类加载机制
- JVM调优
Spring
- spring概述
- Spring控制反转(IOC)
- SpringBean
- Spring注解
- Spring数据访问
- SpringAOP
SpringCloud
- 什么是服务熔断,什么是服务降级
- 微服务的优缺点
- 使用中碰到的坑
- 列举微服务技术栈
- eureka和zookeeper都可以提供服务的注册与发现功能,他们的区别
- eureka服务注册与发现原理
- dubbo服务注册与发现原理
- …
Redis
- Redis数据类型
- Redis事务
- Redis持久化及缓存
- Redis缓存异常方案
- Redis集群架构
MySQL
RabbitMQ
- 如何确保消息正确地发送至RabbitMQ?
- 如何确保消息接收方消费了消息?
- 如何避免消息重复投递或重复消费?
- 消息基于什么传输?
- 消息如何分发?
- 消息怎么路由?
- 如何确保消息不丢失?
- 使用RabbitMQ有什么好处?
- 消息队列有什么缺点?
- MQ如何选型?
- 如何保证消息队列高可用?
- 如何保证消息的顺序性?
由于篇幅原因,还有SpringBoot,MyBatis,SpringMVC,Dubbo、Linux、Tomcat、ZooKeeper、Netty等专题就不做展示了!
这篇关于三年经验,非科班自学JAVA的我拿到了字节和阿里的offer的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南