分享一下自己的秋招历程

前言

今天是1024程序员节,博主是2020届硕士,就在前几天刚刚结束了2019年的秋招,借此机会分享一下秋招的一些历程和心得。

秋招情况

先总体介绍一下秋招的情况,岗位是java后端,大概是投了 30多家公司,简历挂掉的只有陌陌一家,还有几个投了一直在筛选,笔试挂掉的有360,网易,拼多多(太菜了拼多多笔试了三次都没过),远景智能(这个有个英语测评,我得了个最低分估计是这个给我挂了),还有来学校的几个猫眼,绿盟,金山云等,大部分笔试还是都过了的。面试的20多家拿到了五家的offer,按时间顺序来有映客直播,华为,阅文集团(腾讯文学),瓜子二手车,百度。博主最后选择是百度,AT和其他大厂基本上都没投,一方面毕业在即另一方面自己准备也不算太充分,拿到了百度就选择结束秋招了。

备战秋招过程

下面讲一下自己准备的过程,说起秋招准备,我是属于那种起了个大早干了个晚集的那种。我是在18年年底在算法和开发纠结了一番,最后选择了开发。然后19年年初就开始准备了,因为本身有java基础,所以直接从javaweb开始看的,先看了一些jsp,servlet,session,html,js等相关的基础知识,并跟着视频做了个简单的商城项目。春节过后,先是在实验室忙了一些毕设相关的事情,然后又做了一些其他的工作,业余时间我刷了两遍剑指offer,到了五一那会儿,我开始决定做一个SSM的商城项目xx商城,跟着视频做,有时候改bug会改很久,大概用了一个半月吧,把项目做完了,就到了快七月了。期间投了两三个实习,当时很菜笔试都没过,然后就放弃实习的念头了。到了七月份我开始第一批面试,作业帮,多益网络,和字节跳动,字节是面到了二面,其余的都是一面挂掉了,然后觉得自己算法能力不强,刷了一个月的leetcode,刷了大概100多道题。然后转眼间到了八月份,八月主要面了贝壳,猿辅导,科大讯飞,依图,面前两家的时候感觉自己的基础知识学得不深入,于是中间看了一个月的书,就数据库,redis,多线程,JVM进行了深入的学习。科大讯飞和依图都是在看书的过程中面的,感觉面试效果提升很明显,问很多问题都能深入回答,虽然这俩也没过。再到后来面试越来越多,很多基本的问题已经很熟练了,然后对消息队列也进行了一些学习,学习了个秒杀的项目,对原来做的商城进行了改进。到后来面试起来就顺了很多。到九月下旬的面试通过率就很高了,基本上都能二面以后,然后拿下了几个offer,最后选择了百度也算是自己比较心仪的公司了吧。

面经

下面献出自己的一部分面经,不经常写,所以面经不是很多

  • 2019/7/11多益网络 一面
  1. 类和接口区别
  2. HashMap和map的原理,HashMap 时间复杂度
  3. 介绍一下泛型
  4. 平时做过什么项目
  5. 使用哪些数据库 ,有什么区别
  6. Html会吗
  7. 线程安全解释一下,怎么解决
  8. 死锁的原因
  9. 对象的生命周期
  10. 如何实现给别人提供接口调用(API)
  11. 继承和组合
  12. 如何看待996
  13. 下班后同事告诉你你的代码出bug了,你怎么办
  14. 平时上网主要逛什么网站
  15. 课余接触过哪些开源项目
  16. 编程题:合并两个递增数组(5分钟内写完)
  • 2019/7/12字节跳动ToB一面.
    面试官很直接,同学你好,先来写个代码吧~~
    编程题目是顺时针打印数字,剑指offer上的题目(不过我当时就做了一遍就扔那了,没想到会考这道题,当时怎么写的都忘了,就记得逐圈打印,半个小时才写出来)。
    写完编程之后,面试官问当n很大(n是边长,n>100000)时,给你个坐标让你去这个回型数组中查找该位置的值,你会怎么找?分析复杂度,然后问有什么优化方法?
    编程完了之后就问了几个问题:
    1.用过数据库吗?说下隔离级别,分别是解决了什么问题?串行化是怎么隔离幻读的?
    2.说下数据库的索引,聚簇索引和非聚簇索引区别?
    3.问你些java问题,synchronized和lock区别?讲讲synchronized和实现原理,synchronized对类加锁和对象加锁的区别
    4.volatile讲一下,可见性是怎么实现的?,java工作内存在什么位置?指令重排讲一讲?举个例子。
    5.java运行时数据区讲一下,java堆里边放的是啥,方法区呢?
    6.redis的sortedset讲一下底层实现
    7.Spring AOP 讲一下,有哪些应用?
    最开没怎么准备基础知识,都是知道个大概,不过代码写的让面试官挺满意的,对我评价是代码写的不错,基础知识有待提高。

  • 2019/8/17 贝壳线下面试
    介绍下项目,画结构图,讲讲秒杀设计,画一下流程,redis一致性,讲讲dubbo和zookeeper
    讲讲毕设,讲讲决策树,讲讲深度学习
    多线程:lock和synchronized,讲讲线程池原理,参数,分类
    讲讲jvm模型和jmm,讲讲volatile原理
    写几个linux 语句
    post和get
    数据库,讲讲隔离级别,索引
    面试官和我本科硕士都是校友,比较亲切,对我的评价也很中肯,说基础还行,但没有亮点,当时我还不知道亮点具体指的是什么。不过我问了他很多问题,都跟我很详细的解答了,后来还把我送出去。我到后来面了猿辅导才知道自己是真的菜。
    不出所料,贝壳面完五分钟出了结果,挂了。虽然很遗憾但是很感谢师兄为我解答了那么多问题。

  • 2019/8/27依图一面
    1.介绍自己
    2.介绍项目,讲讲秒杀。
    3.redis是怎么部署的(集群),讲讲主从结构,redis一个崩了怎么办,持久化讲一讲
    4.编程 leetcode 72 编辑距离
    5.常用的集合有哪些,hashmap,讲讲hashmap,多线程下链表是怎样成环的?头插法会怎样,尾插法会怎样?
    6.聊聊concurrenthashmap ,怎么查找key,怎么查找value(遍历所有的链表或红黑树),如果一个线程从左向右查找,另一个从右向左查找会发生什么?(死锁),怎么解决这个死锁?为什么不锁节点而是锁段
    7.聊聊数据库,事务的隔离级别,怎么解决这些问题?索引的类型,(B+树和哈希索引)有什么区别?B+树怎么查找叶子节点的下一个节点?Myisam和InnoDB区别,聚簇索引和非聚簇索引,他俩的非聚簇索引有什么区别?

  • 2019/9/2 京东一面
    京东凉凉,上来就问我maven,spring,mybatis源码,然后红黑树旋转,java8的stream。问的东西都太偏重实践了,一点基础都没问,20分钟就结束了,特别鄙视我没有实习

  • 2019/9/21 度小满一二面
    一面:
    算法题一:链表翻转
    算法题二:两个队列实现栈
    二面
    如何排查OOM
    Explain 返回参数
    算法题一: 一个数出现一个其余的数出现两次,找出出现一次的数(异或)
    算法题二:n个范围在1-100的数排序(计数排序)
    算法题三:无限长度的链表随机一个节点,保证完全随机(蓄水池抽样)
    算法题四:(只有这个写代码了)实现一个线程安全的单例

  • 2019/9/20 作业帮一面
    算法题一:根据中序和后序序列输出前序
    算法题二:leetcode 4 两个有序数组中位数

你可能感兴趣的:(java后台,Java后台学习笔记)