首页 > 秋招总结: 学习历程+总结+面经。
头像
乔治的哥们
编辑于 2021-10-15 20:34
+ 关注

秋招总结: 学习历程+总结+面经。

学习历程篇 - 请享受无法逃避的痛苦

1. 学习开始

    双非本,今年三月份(因为开学了 -<疫情 晚开学两周>,大三下)开始正式准备面试相关的东西,8月投递简历,8月中旬到9月中旬陆续面试,并陆续收到offer。
开学第一天学了一遍springboot。后续几天看了些微服务相关的项目,因为大三下每周就上1天的课,所以有了更多的可自行分配的时间,所以就自己投入几乎全部精力去学习面试相关的东西。

2. 项目和基础八股文准备

     关于项目方面呢,在学校的项目基本都是xxx管理系统,xxx管理系统这些根本无法拿出台面的项目,虽然也写过其他的项目,但都是用的最基础的技术。 为了让自己的项目更具竞争力,我就在慕课网上寻找项目,最后把项目确定为"亿级流量秒杀的分布式系统",这个项目分为两个部分首先是一个基础的秒杀系统,我花了10天左右去完成。然后是学习多线程相关的东西,刚开始学习的时候就不知道,就没听说过JUC和各种锁。先是找了些视频去看了一些,跟着无脑写代码。在多线程八股文这块 还是靠背出来的。(下文介绍)

3. 初出茅庐(试探性投递)

      转眼到了4月份,所谓金三银四,告诉自己一定要抓住最后的机会,投了三家公司: 阿里、字节、网易 都是找学长学姐内推的. 阿里写完笔试后,一直显示面试中,但一直没收到面试邀请。 字节跳动 笔试题难的让我怀疑人生,当然那时候还没开始刷LeetCode。 网易简历挂。 后来反思了一下:
首先是自己的技术栈不够广,简历上没什么亮点;其次是没刷算法题,最后是投递太晚,基本都招满了

4. 项目升级

     转眼间到了5月份,五一假期接着干那个项目("亿级流量秒杀的分布式系统")的第二部分,虽然项目只要18小时的课程,但我学了一个月。因为用到了很多新的技术,导致我bug频出,在写bug和改bug上就花费了很多的时间。

5. 初次面试

       写完项目就来到了6月份,虽然项目写完了,但很多东西并不是学过去了就学会了的,很多的东西 还是似懂非懂的。我就在腾讯校招的官网,随意更新了一下投给腾讯的简历。然后第二天上午腾讯面试官加了我微信,问我面试时间,恰逢6级考试,以考六级为由推迟了5天。 在这五天里没学英语,疯狂背面试相关的东西。面试开始了,第一次面试大厂肯定很紧张,在宿舍面的,把舍友请(gan)了出去,在激动的环境中面完了一面。主要问的JVM和计算机网络,算法也比较简单。面试结束10余分钟 显示面试通过,隔天进行二面。当时还是蛮激动的。二面 果然项目讲的一塌糊涂,面试后还问了网络编程 也不怎么会,就凉了。
然后就是 刷Leetcode,上头的时候每天10几道,不想写的时候几天不写一道。

6. 期末和面试撞上

      转眼间到了7月份,临近期末,并没有准备期末(只是考每科前半天看看书),依靠平时的基础可以及格,也没打算考高分,利用期末复习时间背八股文。果然期末发挥并不理想,算法和项目管理课等考了90+,其余都是七八十分。主要是因为 期末前接到字节跳动HR电话 约的期末后面试,所以才一直背八股文,没准备期末。,感觉答得很不错 还是凉了(提前批)。

7. 背的哪些八股文,看的哪些面经

      到了一个大家比较关心的问题,我背的什么八股文。 我背的《offer来了-原理篇》这本书上的,这本书上的JVM整理的真不错,多线程也挺好,计算机网络那块的HTTP和HTTPS整理的非常棒。-出版社没给我钱 哈哈哈。Redis背的《Redis深度历险记-核心原理与应用实践》这本书上的,书上的基础数据类型的讲解和持久化 等讲的真不错,面试绝对畅通无阻。面试相关的还在慕课网上看了些个“Java面试”相关的视频,具体可以私聊交流下。

8. 暑假怎么学

     转眼间,一学期过去了,我塔喵的放假了。我连个offer都没有,没脸回家。 于是我去了考研自习室 学了20多天(看了一本redis书,那本《Redis深度历险记-核心原理与应用实践》就是在这个时间看的,刷题,学了elasticsearch,看看八股文)。 8月初,开始投递,8月中旬陆续接到面试通知。在等待面试和进行面试的这些天,我每天都会拿出3小时以上的时间去背诵八股文。9月4号开学,期间面了 腾讯-阿里-网易-小米-奇安信-好未来(阿里腾讯凉,网易三面凉)。 开学后两周面了 - 北森云计算-顺丰科技-58同城-恒生电子 (面试全通过),各公司间的面试题都差不多,只要背会了 就那点东西。拿到几个offer,尤其是决定了去小米实习,就放弃了很多公司给的面试机会

     刚开始面试那会,紧张的不行,后来经过面试的历练 就不在乎面试环境了,怎么都能正常发挥了。因为面试后都是按照简历来提问的,八股文也就那些东西,背会了就很想去面试,而不是恐惧和胆怯。

9. 回首曾经的自己

     从学习springboot    到    项目    到   八股文    到   各种源码,经历了近半年的时,现在实习半个月了,虽然对这些也忘的差不多了,但至少我曾经张口就来,举一反三。说起WeakReference和内存泄漏就能想到ThreadLocal。 说到哈希冲突 除了能想到HashMap的红黑树也能想到ThreadLocalMap的链式地址法 . 说到锁就能说出synchronized和locak,CAS , AQS。 说起Redis,那本书的大部分内容都能在脑海中呈现。




1. 小米篇

8.4投递简历        8.13简历通过        8.16进面试环节       8.25一面        8.25一面通过
8.26约二面      8.30二面        13二面通过      9.16 HR口头offer     9.17正式offer     申请实习offer  --    9.28入职
一面面面试官成了我同事,二面面试官是我组长。
9-10点上班,11:30-12:00下班吃饭 。 14:00上班 18点-19:00 吃饭下班,
入职第一天 和同事一块吃饭:

  1. 我是你一面面试官 你还记得我吗?
  2. 你叫什么?
  3. 家是哪的?
  4. 在哪租的房子?
  5. 在哪上学?
    ............ 6个同事轮流问我,问的我想立刻结束晚餐。

一面(80min)

先自我介绍一下吧
你们学校在济南哪个区? 我在济南工作过。
详细说一下Java类的装载过程?
Java的几种引用?(强软弱虚)
双亲委派机制?
双亲委派的好处?(只答了安全方面 没答避免重复加载)
JVM内存模型
垃圾回收算法
新生代中为什么要有两个survivor区?
BIO、NIO、AIO的区别?
select,poll,epoll的区别?
hashMap在JDK1.7 和 1.8的区别?
hashmap在jdk1.8 在安全方面做了哪些优化?
hashMap 的容量为什么是2的n次方? (说了一半,没说扰动函数)
2的n次方-1 的二进制位全是1 有什么好处?
currenthashmap说一下?
JUC包下的类知道哪些?
说一下CAS机制?
说一下MVCC?
说一下AQS?
说一下synchronized?
synchronized锁升级的过程说一下?
volatile 知道吗 说一下?
mysql的优化知道哪些?
说一下explain执行计划?
辅助索引说一下?
MyISAM和Innodb的区别知道哪些?
数据库乐观锁和悲观锁的实现?
数据库的四个问并发问题
Redis的优点,为什么要使用Redis ?
Redis的数据结构及其应用场景?
Redis的IO多路复用机制?
Redis分布式锁?(setnx expire set redisson的看门狗续时 红锁)
Redis的setnx和expire如何保证原子性?
springcloud的组件及作用说一下?
支付宝第三方支付接口 如何保证不重复支付?
ElasticSearch倒排索引的原理?
使用ElasticSearch 建立了几个索引,用来多少分片?
写题:

  1. 写一个单例模式,使用你认为最安全的方式.
  2. 判断链表是否有环?(写了两种方法 双指针和集合)
  3. 数组A[n]有序,数组B[m+n]有序,数组B只有前m个有数据,将AB合并到B中,依然保持有序. (倒着遍历写值)

二面(35min)

自我介绍
Java是如何实现并发的?
说一下线程的状态相关,如何转变的?
CAS底层是通过什么机制来实现的?
用户有一个页面异常不知道什么原因你将怎么排查?
详细说一下网络异常
能系统说一下处理流程吗?
ThreadLocal说一下?
信号了解吗?
进程间的通信方式有哪些? (只说出了通信方式的几个名称)
Nginx如何使用的?
Nginx如何配置的?
Nginx高性能的原因?
Nginx中的epoll回调函数是谁调用的?
CDN的原理?
让你设计一个CDN你会如何设计?
写题:
实现扑克的洗牌功能。

问面试官:
对我的面试做一个评价吧.
天星数科具体的部门和业务是哪块?




2. 网易篇

面的网易有道,提前批投简历的时候,还没啥动静,后来就出政策 限制线上教育了,然后网易就缩招

1. 一面 (59min)

面试官自我介绍 他说他叫王硕
自我介绍
介绍项目
分布式锁的实现?
CDN是什么?
平时怎么学习一项技术的?
String、StringBuild、StringBuffer 的区别?
StringBuffer底层是如何保证线程安全的?
说一下ConcurrentHashMap?
ConcurrentHashMap的扩容说一下?
说一下locks包中的类了解哪些?
说一下Concurrent包中的类有哪些?
说一下CopyOnWriteArrayList的应用场景?<>
算法题:
使用迭代的方式(非递归)写二叉树的前序遍历

Ip协议是如何发送数据的?
Redis的epoll多路复用说一下
Redis的String的实现方式有哪些?
Redis的过期删除策略?惰性删除、定时删除
平时搭载系统是集群还是单机?
Linux如何查看运行状态?
Spring加载Bean的过程用了什么设计模式 (答错了,应该是观察者模式)
SpringBoot相较于SpringMVC的优点?
ElasticSearch倒排索引说一下?
手机验证码、支付宝支付这些第三方接口怎么做的?

问面试官:
1 什么部门?
2. 一共几轮面试?
3. 面试官一般会记录问过的问题还是整体评价?
4. Java开发去了做什么业务?

二面(55min)

面试官黑白摄像头,面试官还烫了头
自我介绍
介绍项目
分布式锁的实现?
Redis是如何判断数据过期的?
除了超时时间 还有呢?
Redis的引用计数法为什么不会产生循环依赖的问题?

算法题:
判断一个二叉树是不是另一棵二叉树的子树?

场景题:
1 给你一个单词表 和 一篇文章 如何判断文章中包含单词表中的哪些单词?
如果是短语表呢?
2 说一下生产者 和 消费者的场景

问面试官:
1 什么部门? (因为我忘了 所以才重复问)
2. 一二三面是什么职位的领导?

三面(总监面 85min)

面试官无摄像头
自我介绍
项目介绍
token的实现?
分布式锁的实现?
让你写一本Java技术书,你如何设计目录?(从JDK-->SpringCloud)
如何优化一个学生选课系统?
mysql的优化的途径?

算法题
合并区间 LeetCode_56题。




3. 恒生电子篇

聊天式面试,面试毫无技术含量

一面 (12min)

自我介绍
你们学校你认识谁谁谁吗?
你们学校应该是以金融 经济学为主,你学过吗?
最近了解过经济政策吗?
平时如何团队协作写项目的?
高并发的项目介绍一下?
项目中学到了什么?
Spring看过源码吗? (回答: 看过。 然后不追问了)
恒生的一条原则是"客户第一" 你怎么理解?

问面试官:
为什么不问问八股文?
Java业务方面
共几轮技术面
工作地点

二面(主管+HR 22min)

自我介绍
项目介绍
项目中你是怎么做的技术选型?
个人评价
社团介绍
比赛相关
自我评价
同学对你的评价?
期望薪资? (xxk+ 说少了 竟然直接给了)

问面试官:
新人培养体系?
实习待遇如何
公司技术方向及技术栈相关




4. 北森云计算篇


本来春招投的它,没给面试机会,秋招把我捞了出来。正好想拿它保底的,结果面试表现极佳,每个问题都回答的比较完美。 薪资比预计的高了6K,最核心的部分,提供宿舍,还是选了小米。

一面(55min)

自我介绍
项目介绍
缓存穿透
缓存击穿
分布式锁
缓存雪崩
数组和链表的区别 使用场景
二叉树和平衡二叉树的区别?
二叉树的遍历方式有哪些?
判断链表是否有环的方法有哪些?
HTTP协议由什么组成?
HTTP和HTTPS端口分别是什么?
HTTP1.0、1.1、 2.0、3.0的区别?
TCP和UDP的区别?
OSI七层模型中 第二四七层分别是什么?
IP和TCP分别在哪一层?
输入域名到显示页面的过程说一下?
三次握手 四次挥手说一下?
TCP报文出现 timeout 可能原因及解决方案有哪些?
散列Hash说一下?
GC垃圾回收说一下?
常用设计模式有哪些 说一下?
线程和线程池的区别?

问面试官:
Java业务方面
共几轮技术面
工作地点

二面(63min)

自我介绍
算法:
求二叉树的最大宽度?
集合中找出a+b=c 且c的值最大的数?
如果数据量很大的情况下呢?

int和Integer的区别?
Integer i = 1000; 语句正确吗?
装箱过程是如何实现的?
如何将字符串转换成整数? Integer.ParseInt()
自行设计API实现字符串转化成整数?
面向对象的特性?
封装继承多态举例?
项目中如何使用封装继承多态的?
hashMap为什么使用红黑树呢?
手写过红黑树吗?
项目中为什么使用20个大小的线程池做拥塞窗口?
为什么线程多了会变慢?
如何查看死锁?
发生死锁时线程的状态是什么?
什么是OCP?
Linux的如何根据端口查看进程号?
Linux中如何查看内存的占用情况?
Redis的使用过哪些?
设计LRU
TCP和UDP的区别?
如何使用UDP保证双方发消息可靠?(给我挖坑 无法保证)
用户态和内核态的区别?
SpringBoot中是如何将uri和方法进行映射的?
SpringCloud的组件?
Eureka的是如何做服务注册与发现的?

说一下你自己的性格?
学习过程中遇到哪些困难?

问面试官:
Java业务方面
共几轮技术面
评价我的面试
工作地点




5. 顺丰科技篇

一面(30min)

项目介绍
Synchronized的底层和优化?

场景题:
四个方法都用synchronized修饰,2个成员方法 2个静态方***出现什么样的并发?

AQS说一下?
CopyOnWriteArrayList?
ArrayList和LinkedList的区别 使用场景
Redis的数据结构?
Redis的数据结构的底层实现?
SkipList的实现?
BIO和NIO的区别?
HTTP和HTTPS的区别?
Redis的回调函数由哪些模块组成?
Spring如何将请求发给Controller的 ?
Spring有哪些注解?
SpringCloud的Ribbon底层实现?
Linux常用的命令?
Linux查看日志的命令?

场景题:
linux有很多日志 ,日志中包含时间和ip,ip有重复 如何选出出现次数最多的前5个ip?

问面试官:
Java业务方面
工作地点

二面(32min)

自我介绍
Http和Https的区别?
为什么使用非对称加密和对称加密两种?
JVM有几种引用?
JVM中ClassLoad和ClassForName()在加载上的区别
一个线程出现OOM,其他线程会正常运行吗?
Hystrix说一下?
SpringBoot的组件说一下?
对象序列化的作用?
如何能保证某个变量不被序列化?
static变量会被序列化吗?
Jdk8之后的版本了解过哪些新功能?
Long是线程安全的吗?
Netty了解吗?
消息同步的中间件用过吗?
分布式系统的一致性包含哪些?
你的博客都写哪些内容?
大数据量情况下内存有限 如何找出top1000?
Mybatis的有几级缓存?
Mybatis的延时加载说一下?

6. 蚂蚁金服 篇

7. 腾讯 篇

8. 字节跳动 篇

9. 奇安信 篇

更多模拟面试

全部评论

(8) 回帖
加载中...
话题 回帖