我的秋招
1、9.2 明略科技 后端开发(一面挂)
- 项目中的难点
- 论坛系统:回帖功能(一二级评论)对应的数据库是怎么设计的
- 多个用户回复同一条帖子是怎么设计的
- 线程池执行的过程
- 数据库的特性以及隔离级别,怎么理解一致性,要求举例子说明
- 说一下你的整个秒杀系统项目
- 分布式session是怎么处理的
- 登陆时是怎么获取用户信息的
- 保证多个用户访问时,是怎么做的
- 减库存是这么减的
- 减库存失败了怎么办
- 消息写到消息队列的过程中丢失了怎么办
- 平时是怎么学习的
- 反问
2、9.6 富途 客户端开发(一面挂)
- 内存的区域
- 堆栈的区别
- 给一段程序,标出代码中变量所在的内存区域
- 什么是二叉树,什么是二叉搜索树
- 产生死锁的原因
- 死锁的必要条件详细说
- 说一个产生死锁的场景
- 怎么解除/预防死锁
- http与https的区别
- 为什么是三次握手
- 三次握手的过程
- get请求与post请求的区别
- 进程与线程的区别
- 数组与链表的区别
- 堆区与栈区的数据结构
- 怎么用两个队列是吸纳一个栈?
- 手撕:二叉树路径和是否命中目标值
- 智力题:8个球,只有一个球略重,其余重量相等,最少称几次找出最重的球
- 智力题:一个数能被2除余1,被3除余2,········,被10除余9,求这个数最小是多少
- 你对未来的规划
- 你了解我们公司吗
- 反问
3、9.7 普门科技 客户端(二面挂)
一面:
- 秒杀系统具体做了什么事情(你这怎么全是优化0.0)
- 分布式session怎么做的
- 怎么对用户进行认证的?(cookie携带token)
- 简历中怎么有个一年工作经验
- 项目中怎么和同学进行合作的
- 论文项目为什么要做第三方登陆
- 秒杀系统是否前后端分离
- 项目是自己一个人做的?
- 用过的关系型数据库或非关系型数据有?
- 数据库建表是,索引建立的规则
- 如果用姓别建索引会怎么样
- 数据库索引的数据结构?
- b+树为什么快,b+叶子的节点的数据结构?
- 平时是怎么学习的?
- 平时怎么做技术迭代的?
二面:
- 设计模式
- 软件工程
- 有哪几种图
- 线程同步的几种方式
- 数据库sql语句查询的优化怎么做?
- 职业规划
4、9.9 顺丰 后端(三面后无消息)
一面:
- Jvm的GC是什么
- Jvm为什么要把永久代移除
- 如果一个线程OOM了,那其他线程会不会崩?(:不能吧。。:你自己回去试一下。。)
- Jvm里面的指令重排
- JIT是怎么对代码进行优化的
- HashMap是不是线程安全的
- HashTable是不是线程安全的
- Redis的持久化机制
- Linux的常用操作
- Linux的管道操作除了你说的还有哪些
- Linux中查询一个日志文件的关键字怎么查
- 说说你对Redis的区别
- Redis中相同前缀的key值怎么去查询
- Redis的一些常用命令
- Http与Https的区别
- 数据库varchar类型数据长度是不是无上限,Int呢,int(10)代表什么意思?
- Java中Long是不是原子性的操作
二面:9.15
- Java的垃圾回收机制
- 创建线程的方式
- Jvm的内存模型
- 进程间的通信方式
- 线程与进程的区别
- Socket是怎么建立连接的
- Redis的持久化方式
- Redis的集群模式
- Spring的启动流程
- 创建线程需要分配哪些资源?(:栈区是线程私有的,应该要分配栈内存吧。 :嗯,知道分配栈内存就够了)
- 线程池怎么去决定创建多线数量的线程
- 什么是TCP的慢启动
- 池化技术的好处?(数据库连接池、线程池)
三面:9.25
- 一些抽象的问题。。。
- 是一件什么事情激起你对java的兴趣的?
- 你是怎么理解java后端开发的这个岗位的???
- 一些抽象的问题。。。
5、9.14 用友 后端(offer)
一面:9.14
- 问项目主要做了啥,qps优化后有多少
- Java的特性,分别展开讲一讲
- 说一下Spring的ioc和aop
- 数据库怎么优化查询
- 内存溢出了解么,什么时候会发生内存溢出
- Java的锁,有哪些
- 多线程了解么,创建线程的方式
- 怎么选择 创建线程池的线程数(两种情况)
- 说一个你最熟悉的设计模式
- 单例模式的另一种实现方式
- 算法:两个字符数组怎么查找两个数据中的重复元素(:能给点提示不?:用hashMap)
二面:9.18
- 自我介绍
- 为什么要选择java
- 期望工作地点与薪资
- 优秀学生干部干了啥
- 有参加比赛吗
- 你认为你的优势
- 遇到的最大的困难是?怎么解决的
- 接受996吗?
6、9.16 兴业数金 后端(offer)
- 说一个最拿手的项目吧
- 限流是怎么做的
- 怎么提高并发量的
- 秒杀项目qps提高了多少
- 限流中记录次数的变量保存在哪里的
- SpringBoot的 启动过程是怎么样的
- SpringMVC中forward与Redirect的区别是什么
- Mybatis中$与#的区别
- 数据库中悲观锁与乐观锁是怎么样的?举例
- HashMap与HashTable的区别
- 场景题:100000条数据怎么分片执行
- 线程池的执行流程
- Mybatis中命名空间的作用
- 项目中Dao层怎么找到对应的XML文件
7、9.24 玄武科技 后端 上来直接hr面,直接挂。。。
8、9.25 联易融 后端 (一面后无消息)
一面:
- 集合框架:ArrayList HashMap ConcurrentHashMap
- 秒杀项目:难点、怎么提高并发量、怎么减库存、怎么添加库存
- Mysql索引有哪些
- Inns的存储数据结构
- 线程池的调度过程、常用的阻塞队列、ArrayBlockingQueuee可以多线程进行写入吗、怎么理解线程池的阻塞
- Synrochnized与Renntranlock的区别
- Synchronized的锁升级过程
- 请求到SpringMVC接口的过程以及怎么处理请求的过程
- aop、aop的应用场景、aop原理
9、9.27 荣耀 通用软件开发(二面挂)
一面:
- Java集合:Arraylist与Linkedlist、是否是线程安全、java中有哪些线程安全的集合类
- 异常的处理方法,finally代码块一般是用来做的什么?
- java中锁有哪些?
- 锁的释放有哪些
- 写一个建表的语句:口述
- 数据索引为什么效率高
- jvm垃圾回收机制
- 建表的规则
- 限流算法有了解哪些
- tcp与udp有哪些区别
- get与post的区别
- 线程与进程的区别
- tcp在七层模型的哪一层
10、9.27 涂鸦智能(二面挂)
一面:
- 项目中有没有用到什么数据结构
- Jvm内存模型
- 垃圾回收的对象
- 怎么判断一个对象可以被回收
- 垃圾回收算法有哪些
- 线程池的核心参数、执行过程、拒绝策略
- 数据库建表的规则
- redis数据丢失的防止
- redis为什么快
- rabbitmq的几种发送消息的模式?
- oauth2说一下
- 开发文档怎么写,一般有哪些内容?
- git历史版本不兼容怎么处理
- 为什么要用reids
- 为什么要用分布式
- 微服务有用过没有
- 编码需要注意的一些问题
- 注释
- 编码的排版
- 参数的校验
- 参数合适的访问修饰符
- 编码的逻辑要分层
- 设计模式原则:单一原则 依赖原则
全程面试官在进行反向输出,也给我提了一些建议:作为一个企业后端开发需要学习的知识:dubbo、restful风格、kafka、怎么写接口、数据结构与算法
二面:10.12
- 问实习项目的细节,问对一致性的理解
- 项目中的难点
- 最近做项目中遇到的难点
- 一个项目交给你,你准备怎么去做
- 怎么保证项目代码的质量(稳定性)
- 未来的规划
11、9.27 中兴 通用软开(offer)线下:鸿德酒店
一面:
- 研究生项目
- 三个C++选择题
二面:
- hr常规问题
- 剪短的英文自我介绍
洽谈:
- 体验极差
12、9.27 美的 群面挂
群面:
- 讨论设计智能家居
13、9.29 民生科技 (offer)
一面:(群面:两个面试官,三个同学:轮流回答同一个问题)
- 了解的设计模式
- post请求到后端的过程
- 说一下事务,项目中怎么用的
- 参数校验
- TCp三次握手
- TCP长连接不断开,放到生产环境会有什么问题,怎么排查
- 场景题:前端录音,请求讯飞语音处理的接口,后台逻辑与前端逻辑与接口之间是怎么样的过程
二面:(两个经理)
- 秒杀项目
- 实习项目
14、10.12 TT语音(二面挂)
一面:
- OOM类型有哪几种
- 数据库的数据结构
- 数据库查询怎么避免回表
- Redis中的分布式session,存储的数据过多,hash冲突了怎么办
- B+数节点存储了什么信息
- redis节点挂了怎么办
- 秒杀系统的吞吐量怎么优化==从nginx出发进行思考
- 本地缓存用到了哪些,怎么选择
- spring的bean的创建流程
- spring的类加载过程
- 接口的容灾怎么做
- redis解决了什么问题
- 双亲委派机制
二面:
- 兴趣爱好
- 场景题:要你用java设计一个生产衣服的系统?(主要考察设计模式)
15、10.13 安信证券(线下一面挂)
一面:
- redis集群模式下互相通信是什么算法?
- 创建线程池的方式
- 拒绝策略
- HashMap的底层原理
- Arraylist底层扩容过程
- http报文头部包含哪些key
- https、https为什么是安全的
- 线程的启动方式,run方法与start方法的区别
- 页面输入密码,怎么保证数据的安全,从传输过程与数据库两个方面说?
- 线程怎么终止
- Springboot的启动流程
- https协议中,传输的报文能被篡改吗
- linux中用过的命令
- 为什么要做这两个项目
- 项目还可以怎么优化
16、10.14 CVTE web服务开发(一面挂)
一面:
- 面向对象的三大特性,细说
- 接口与继承
- 接口与抽象类的区别
- 什么时候用接口,什么时候用继承
- 异常体系, 异常怎么处理
- 怎么判断异常是否可以被处理
- 线程池的运行流程
- 怎么设置线程的数量
- 网络的七层模型
- udp在哪一层,与tcp的区别
- https说一下,为什么是安全的,https在传输过程中是对什么加密的
- 页面输出网址到页面展示的过程周末那个经历了哪些过程
- 用过哪些数据库,数据库有哪些数据类型,char与varchar的区别
- 数据的事务,分别解决了什么问题
- 用过索引没有,为什么索引查询快
- 计算机基础知识这块最近有没有学习新的知识
- Springboot的自动配置
- 用过哪些java集合
17、10.19 奥比中光 图像处理sdk开发(一面没消息)
一面:
- 设计模式
- 观察者模式
- 单例模式的实现方式
18、10.21 灵犀互娱 java后台开发(一面挂)
一面:
- Tcp的粘包
- TCP的滑动窗口的作用
- Java的内存模型
- cms垃圾回收器
- concurrenthashmap的底层原理
- 秒杀项目中怎么保证同一个用户只能抢购同一件商品,还有什么其他解决方案
- Mysql的索引结构
- 主键索引与唯一索引的区别
- mysql的事务隔离级别
- redis实现原子性锁的几种方法
- 实习项目
- 类加载机制
19、10.23 中信信用卡 java后台(oc)
一面:
- 实习项目中的一致性是?
- 常用的java集合
- hashmap在jdk1.7与1.8中有什么不同,做了什么改性,为什么要该改进
- concurenthahshmap1.7与1.8的区别
- CAS是什么
- sychronized是什么,底层原理
- java内存模型,方法区、元空间、永久代
- 数据的引擎,可以干什么
- linux的常用命令
二面:
- 你对国企与私企的看法
- 其他非技术问题····
三面:
- hr面问题
20、10.23 金蝶 java开发(offer)
一面:
- 常规问题
二面:
- hr面
加面:
- hashmap为什么要用红黑树,而不是是平衡二叉树
- 发起http请求到返回页面的过程(需要细致到物理层)
21、10.24 牛客网 服务端开发(一面挂)
一面:
- 线程池的核心参数及作用
- 线程池在项目中有无用过
- JVM中GC,什么时候fullGC,怎么避免
- hashmap的key、value是否允许为空
- hashmap,key为空怎么计算它的hashcode
- redis中zset底层的数据结构、时间复杂度、为什么不用红黑树
- 说一下数据库的MVCC,inndb
- 建立索引的规则
- 为什么索引不能建太多
- 手撕代码:两树之和、怎么优化==不会优化 ,换一题
- lru算法的实现===空气静止
- 我们聊点别的吧,不要灰心,要一直保持学习的态度 0.0===自闭
22、11.4 深圳南方电网数字研究院 java开发(oc)
一面:
- 问研究生项目:细节、创新点等
- 秒杀项目
- 算法题:不相邻数字之和的最大值
二面:
- 研究生项目的价值
- 性格
23、华为质量与流程it: 数字it应用工程师(offer)
一面:10.28
- 自己选项目细说:半个小时:后端怎么做的,前端怎么做的
- 手撕:合并无序链表:半个小时
二面:10.28
- 简单八股
- 学生选课系统的数据库表设计
- 手撕:二叉搜索树(栈与递归的实现)
主管面:11.3
- 问你三个问题,分别说说
- 项目中遇到的难点,怎么解决的
- 项目的启发
- 项目还有什么可以完善的地方
- 你在团队中沟通会有问题吗
- 实习是怎么进行团队沟通的
- 来华为工作对你来说还有什么挑战?
24、 工行广研:后台开发(offer)
实习绿卡
其他投递情况:
无反馈:
广汽 旷世 货拉拉 电信天翼云 小米 tp-link 翼支付 天翼物联 深圳农商行 携程 交通银行总行 小红书 bigo 同程 oppo vivo 中移互联网 中国人寿 虎牙 小鹏 贝壳 WPS 京东 虾皮 快手 lazada Insta360影石 思谋 震坤行 欢聚时代 中信证券 中国平安 平安科技 哈罗 德勤 映客 锐明科技 拼多多
简历挂:
thughtsWorks 华为运营商bg==锁简历 汇顶(深圳) 广发证券 汇川 广发银行(佛山) 蓝月亮 荔枝Java AfterShip 普渡科技
笔试挂:
大疆 恒生电子 商汤 渤海银行 招银网络 微众银行 yy直播 神策数据 网易互娱 (a了一道) 海康 (无反馈) 腾讯(1.6) 字节 美团 4399 37互娱 思迈特 zoom
未参加笔试:
梦加网络科技 九江银行 建信金科 招商局金融科技 三维家
深信服无岗位 唯品会无岗位
准备过程:
研究生入学后一直在用python,然后期间零零散散学过点C++,最后担心工作地点不确定,可能去省外,考虑到java岗位可能多一点(但是更卷呀),也有点想去银行(现在不想去了),所以决定秋招找java开发岗位。2020年9月开始学习,9月写出第一个java的helloworld。
9-10月草草看完了java基础(Java开发实战经典 李新华),然后一直忙开题的事情,到寒假完才做完了第一个java项目(论坛项目)
3月看完了jvm(b站黑马),同时3-4月都在刷题
4月18-4月15日学习了spring(尚硅谷)
4月15-5月20看了jdbc(尚硅谷)+mysql数据库的知识(狂神视频-不是很喜欢)
5月到6月看完了javaweb+springMVC(尚硅谷)
7.3-7.11 做完了秒杀项目
7.7-8.31 工行实习
7.20 看了下redis相关面试问题
7.29-8.5 spring源码(图灵诸葛)
8.7-8.30 java并发编程(黑马视频)
8.30-9.1 数据库强化:b+树等
感受:
如果重开,不会再在javaweb、jdbc、ssm框架花过多时间,而会把更多时间投入到计算机网络、mysql、java并发编程、中间件的学习上面。有时间最好写个博客做一下技术积累,简历加分项。早点开始面试,参加提前批,早的提前批6月就开始了,提前批开始时发现这也没学完,那也没学完,就有点慌乱。明确自己的意向公司,不同公司考察的侧重点不一样,如果明确了自己要去哪儿,针对性学习可以节省精力,比如想去中小厂,面试真不怎么考算法。
面试前看对应的面经也是个学习的好机会,学习起来更有针对性,印象会更加深刻
时间充足的话可以学习一下 tomcat源码 rpc框架 ZooKeeper nio java新特性 。
我就是记录一下,方便自己回想,参考价值有限。我还是个菜鸡,总的来说秋招运气还不错,学不动了也不要放弃呀,万一运气好呢
附:
特别感谢师兄的博客:
论坛项目:(技术栈有点单薄 只适合简单入门java项目)
秒杀项目:
jvm:
刷题: