
本科东北某 985 机械专业,研究生武汉某 985 计算机专业,勉勉强强算半个科班?无实习、无项目、无计算机相关竞赛,“三无” 选手一枚,是真滴菜。而且专硕两年制,上了半年课,疫情在家呆了半年,实话说,找工作之前,我没去过实验室,更不用提项目了。说到这还是要感谢研究生导师当时保研要了我,我是真没想到自己可以从机械跨专业保研到计算机,如果有学弟学妹想咨询跨专业保研的事,也欢迎私聊。虽然研究生期间没参与过项目吧,但好歹简历上有计算机学院的硕士,不会挂简历,足以足以。
因为自己没有研究算法相关,加上听往届学长们说找工作越来越难,去年 10 月开始决定找 Java 开发岗,后面投递的也都是这个岗位。最终收获的意向书有:字节跳动、百度、快手、美团点评、网易、京东。研一下才知道的力扣,如果能早点知道,可能会准备的更充分,哈哈,再夸一下,力扣真是找工作地好帮手!
自我介绍
为什么投客户端(项目是后端的)
网络
1.http 和 https 区别
2.说一下加密算法(说的比较详细,面试官让简单点说)
多线程
1.synchronized 和 lock 区别
2.说一下各自原理
3.乐观锁悲观锁说一下
4.syn 和 lock 是乐观还是悲观
5.乐观锁有啥?原理和 ABA 问题
6.重入锁说一下
OS
1.页面置换算法
2.LRU 缓存,让我设计 LRU 思路
JVM
1.说一下垃圾回收这块,知道的都说出来吧
2.新生代和老年代都用什么算法?
3.双亲委派说一下
4.类加载过程
数据库
1.索引作用?
2.索引的数据结构
3.聚簇索引是什么?
4.innodb 是什么索引?
5.查字典是什么索引?
代码
1.单例模式(写的双重检验)
追问 syn 和 volatile 作用
2.Z 字型遍历二叉树
面试官没开摄像头,看不到表情,紧张 +1
自我介绍
聊一下项目
1.项目上线了吗?(没有)
2.基于 springboot 的还是什么?数据库用的啥?(mysql)
3.说说依赖注入,ioc
4.说说 aop,中间讲到了动态代理
5.说一下动态代理(jdk 和 cglib)
6.静态代理和动态代理区别?
7.项目里哪块用到 aop 了(说的事务管理)
8.redis 热 key 问题如何解决(本地缓存,热 key 备份)
9.如何获得热 key(redis-cli-hotkeys)
10.dns 解析过程
11.tcp 的拥塞控制
12.jvm 内存模型
13.栈里面存了啥?
14.堆的划分,垃圾回收算法
15.synchronized 原理,作用在哪?
代码题
1.手撕生产者消费者模型
2.和最大连续子数组
1.自我介绍
2.项目介绍
3.md5 是多少位?(答错了,应该是 128 位)
4.md5 原理知道吗?可逆吗?
5.还知道哪些加密算法?(说了对称加密和非对称加密)
6.哪里用到了非对称加密?(https)
7.说一下 https 请求过程
8.equals和==区别(null哪个能用)
9.hashcode 和 equals
10.如果没有重写 equals 方法,那么 a==b 和 a.equals(b) 一样吗?
11.创建线程的方法?区别?
12.try catch 能捕获到哪些异常?
13.说说注册登录怎么设计?
14.为什么投客户端?
代码题
1.判断两个链表是否相交
2.判断一个链表是否有环,求出入环节点
3.如果链表是有环的,那如何求两链表的相交节点?
注意:本文属原创非转载。
答:是的,校招问的项目,一般要求比较低,通常是三个目的:1.考察叙述条理性,语言表达是否流畅,毕竟交流也是基本能力;2.面试官着重关注你在项目中如何发现问题以及是否有真正解决问题的能力,考察学习能力和应变能力;3.由项目展开,考察知识点。