前言
主要总结一些笔试和面试的具体问题(主要是web后台开发岗)
笔试不同岗位都差不多,但这个面经是java web后台开发的哟
1. 笔试
笔试共有
- 20道选择题(单选加多选)
- 2道算法题(算法题基本是场景题,但是基本思路都是leetcode的题目)
- 1道设计题(让你设计一个系统)
20道选择题基本都是计网+数据结构的排序题以及java的一些基本概念
具体可以参考我这篇文章都有大概的提到
java框架零基础从入门到精通的学习路线(超全)
算法题的思路leetcode基本都有
我当时做的算法题主要是这两道
【leetcode】剑指 Offer 62. 圆圈中最后剩下的数字
【leetcode】数组-寻找重复数
设计题主要是让你设计一个数据量业务很多的系统,具体需要什么框架什么技术栈如何分配
主要是让你有个大纲的框架逻辑如何去处理
2. 面试
具体的面试还是围绕一些基本的概念以及你简历上的项目还有技术栈来询问
具体基本的概念还是可以参考我上面这篇文章
java框架零基础从入门到精通的学习路线(超全)
【数据结构】常见排序算法详细分析(内含java与c++代码)
以下问题是回忆版:
展示自我介绍
展示项目用的技术栈
根据你的项目询问一些问题
根据你的简历会的技术栈在询问一些问题
我的就比如:(等等)
- docker如何部署服务器镜像
- nginx的负载均衡原理
- springmvc的执行流程
java的概念:
- 讲讲final
- 讲讲finalize,GC什么时候会用到这个
- 面向对象有哪三个
- 为什么要面向对象
- 遇到过什么异常,异常分为哪几种
- 堆栈异常遇到过吗
- 如何排查你的异常
- 遇到过oom问题嘛,怎么判别
- 内盘溢出和内存泄露怎么处理
java概念零碎笔记整理(用于面试泛泛而谈)
java基础知识之面试题
jvm的概念:
- jvm内存有什么
- 垃圾,垃圾回收算法,垃圾收集器概念等
mysql的概念:
- 非聚集索引和聚集索引的区别
- msql事务
- mysql的数据结构
- b+树的东西
- mysql慢查询遇到过吗
- mysql的索引好处
计算机网络的概念:
- tcp和udp
- http和https
- https的工作原理
- 浏览器输入url显示主页的过程
- 三次握手和四次挥手
- 什么情况用udp
- 什么情况用四次挥手
- 网络架构
- 知道ARP协议是什么嘛
关于计算机网络常考的题型
可看我这篇文章
【计算机网络】常见面试题集锦(全)
线程的概念:
- 线程池的理解,以及线程池的原理
- 线程的创建方式哪几种
- java的各类锁
- 了解CAS算法嘛
- 讲讲synchronizd的原理
- 悲观锁和乐观锁,放到系统层面来说怎么理解
可看我这篇文章(这三个问题,挺多企业会问这几个的)
java中各类锁的机制详细解析(全)
java线程的三种创建方式详细分析(全)
java线程池的四种创建方式详细分析(全)
手撕算法:
算法来源于场景题:(要看清算法本质考察)
- 多个线程,某些线程循环依赖,如何找到这部分线程循环依赖
- 用数组实现队列
第一个问题可以看出是循环链表,那就由循环链表解决
【leetcode】链表-环形链表
第二个问题可以看除数组和队列的关系,具体边界值去判定即可
反问环节:(自已思考吧)