我艰难的春招之路
春招了将近两个月,准备收手了,不等其他进度了
=======更新========
我自己看的资料
先放一下春招的进度吧
百度(笔试挂)
腾讯(offer)
网易互娱(offer)
网易云音乐(笔试挂)
网易雷火(笔试挂)
字节跳动(笔试挂)
新浪(offer)
阿里巴巴(offer)
蚂蚁金服(三面后放弃)
美团(一面后挂)
京东(笔试后挂)
腾讯(offer)
网易互娱(offer)
网易云音乐(笔试挂)
网易雷火(笔试挂)
字节跳动(笔试挂)
新浪(offer)
阿里巴巴(offer)
蚂蚁金服(三面后放弃)
美团(一面后挂)
京东(笔试后挂)
--------------------------------------更新-------------------------------------------------
其实可以从我的春招历程上可以看到,只要我通过了笔试,就基本能拿到offer,所以我觉得笔试是最最重要的一个环节。笔试考的是什么呢,也就是算法能力,大多数人感觉都忽略了算法能力,可能对于其他知识掌握很好,但是因为过不了笔试,基本就与大厂无缘了。我虽然以前也是练过ACM的,但是算法能力一直不强。我也在不停的提升自己的算法能力,这里推荐给大家一个牛客的课程,是左神讲的算法课,相信大家应该很熟悉左神,我听了他的课之后还是觉得很不错的,如果你的算法能力比较弱,现在离秋招还有一段时间,可以尝试跟着左神练习练习:https://www.nowcoder.com/courses/cover/live/350?coupon=AtWgLXx 这是我的优惠码形成的链接,用我的优惠链接买可以便宜140元,如果有意想提升自己的算法能力的,可以推荐买一下学习,这样秋招笔试或是面试问道的算法题基本都没问题了,我自己也买了,正在学习ing,希望这样大家可以提升自己的算法能力,拿到更加优秀的offer
说一下我对我春招的看法,我认为在春招前一年的秋招期间,也是就是大三上的时候,就应该有意识的考虑是否春招实习还是考研了。因为那是一个比较尴尬的时间,如果考研的话至少考一个985/211不然基本没什么竞争力,至少需要一年以上的复习时间。如果考虑春招的话,就应该开始进行系统的知识点复习了,因为现在大厂越来越难入。我这边总结一下我认为春招期间面试的比较频繁的知识点。不分公司和先后,面的都是java开发工程师的岗位。
一.计算机网络
1.get请求和post请求的区别
2.在浏览器网址输入一个url后直到浏览器显示页面的过程(这边面试官可能会详细的考察DNS服务器的知识)
3.tcp三次握手和四次挥手的过程(为什么不可以两次握手,为什么握手要三次,挥手需要四次)
4.七层OSI模型或TCP/IP协议模型(各层分别实现了什么协议)
5.各种io模型的知识(BIO,NIO,AIO)
6.http协议和tcp协议的区别
7.https和http的区别
8.https的请求过程
9.http协议的发展历程
10.lvs,nginx,HA在七层网络协议中分别作用于哪层,各自的区别
11.tpc如何实现可靠传输(如何实现udp的可靠传输)
12.tcp和udp的区别
二.操作系统
1.线程和进程的区别(可能会问到协程)
2.进程的调度算法
3.linux中几种io模型(select,poll,epoll)
4.分页,分段,段页的区别
5.操作系统的作用和功能
6.死锁的定义以及如何避免死锁(银行家算法)
7.进程的通信方式
8.线程的七态模型
9.进程间同步与互斥的区别,线程同步的方式
10.动态链接库与静态链接库的区别
三.数据结构
1.如何检验链表是否有环
2.常用的排序算法(算法复杂度,是否稳定,空间复杂度)
3.二叉树和B树的区别
4.B树和B+树的区别
5.hashMap解决hash冲突的几种方式
6.红黑树和平衡二叉树的区别
7.霍夫曼编码的应用
8.数组和链表的区别
9.10w条数据如何找出前一百条频繁数据
10.100个有序数列如何合成一个大数组
四.java基础
1.HashMap底层原理(一定要看源码)
2.有序集合有哪些
3.jvm内存模型(线程私有和线程共享内存分别是什么)
4.gc算法,垃圾收集器有哪些(g1收集器非常重要)
5.如何控制线程并发安全
6.线程安全的集合有哪些(各种集合类的比较,如HashTable和ConcurrentHashMap之间的区别和效率差异)
7.java中常见的锁(乐观锁悲观锁)
8.synchronized和lock有什么区别
9.可重入锁和非可重入锁的区别
10.线程池的七个参数,线程池的好处
11.java中有哪些常用的线程池
12.jvm类加载过程
13.反射的原理,有什么应用
14.java如何打破双亲委派
15.volatile的作用
16.线程间如何通信
17.CAS算法以及可能产生的问题
18.乐观锁和悲观锁的区别
19.String,StringBuffer和StringBuilder的区别(String是不可变类有什么好处)
20.为什么String是不可变类,有什么好处
21.如何保证线程顺序执行
22.sleep和wait的区别
23.synchronized锁膨胀过程
24.抽象类与接口的区别
25.HashMap和HashTable的区别
26.线程安全的数组有哪些
27.谈谈你对面向对象的理解
28.常用的设计模式
29.HashMap和HashTable的区别
五.MySQL数据库
1.数据库中有哪些索引类型
2.数据库索引底层实现
3.为什么选用B+树
4.hash索引与B+树如何选用
5.有哪些数据库引擎,各自的区别
6.怎么对一条查询语句进行调优
7.聚集索引和非聚集索引的区别
8.MySQL有哪几种锁,分别怎么实现
9.MySQL四种隔离引擎,底层实现
10.什么情况下设置了索引但是会失效
11.优化数据库的方案
12.数据库的三大范式
13.数据库的四大特性
14.数据库如何解决幻读(mvcc + 间隙锁)
六.Spring以及分布式知识
1.Spring的启动流程
2.Spring Bean的注入方式
3.Spring IOC如何实现(DefaultListAbleBeanFactory)
4.Spring Aop如何实现,有什么作用
5.Spring事务传播机制有哪几种
6.Spring Bean的初始化过程
7.Spring如何解决循环依赖
8.Spring如何实现懒加载
9.分布式系统如何实现数据一致性
10.谈谈你对微服务的理解
11.负载均衡策略有哪几种方式
12.SOA和微服务的区别
13.如何实现分布式锁
14.如何手写限流算法
15.CAP理论和base定理
16.分布式系统需要考虑哪些问题
17.你的系统你会从哪些方面考虑去优化
18.你的服务挂了怎么处理
--------------------------------------------------
如果有补充,欢迎留言,我会加到上面去
最后,祝大家都能拿到自己满意的offer
大家一起快乐学Java 文章被收录于专栏
本人2021届应届本科生毕业于浙江海洋大学,校招拿到BAT等大厂offer,本专栏的目的是分享一些校招面试过程中的一些重要知识点,以及当前比较流行的技术底层原理和一些面试问的较多的知识点的剖析。后续也会分享一些在阿里工作过程中遇到的一些问题,把问题抽象出来给出我的思路,大家可以一起来思考,互相促进,互相学习。