【旷视】研发工程师技术面经
岗位:研发工程师-校招内推
一面
-
自我介绍
- 毕业时间、主要开发语言、将来规划
-
介绍一下在实习期或在学校,做得比较好或参与得比较多的一个项目
- 画一下系统架构
- 用到的Java技术栈有哪些?
- 最近在学什么新技术?
-
Spring MVC
- 原理
-
线程池
- 为什么要用线程池?
- 如何创建一个线程池?如何用Java的Executor来创建线程池?
- 线程池如何配置?
- 说一下数据库连接池,连接池最小和最大连接数?何时达到最大连接数?
-
HashMap
- 数据结构
- put的过程,源码看过没有?
- hashcode和equals有什么区别?
-
Spring
- 说一下IoC
- 底层如何实现IoC?
-
设计模式
- 用过哪些?
- 有没有用过单例模式?
-
线程
- 有哪些状态?
- 如何构造一个线程?
- Runnable和Callable与什么区别?
- 如何启动一个线程?
-
事务
- 说一下事务的隔离级别
- 四个特性
- 说一下乐观锁和悲观锁
- 什么是脏读?
-
Linux
- 都用过哪些Linux命令?
- 查看进程
- 杀死进程
- 说一下文件权限
-
算法
- 二分查找
- 非递归和递归的写法
-
数据库
- 用过哪些数据库?
- MySQL一般给哪些列加索引?
二面
- 自我介绍
-
实习
- 做了哪些具体的事情?
- 遇到哪些困难,怎么解决的?
- 代码生成框架原理
-
Spring
- 讲一下自己的了解
- 用的Spring版本
-
数据库
- 常用的数据库?
- 用到哪些操作?
- 行转列?
- Oracle分页语句,若有排序怎么做?
- 事务的隔离级别
-
Java基础
- Spring用到了哪些Java技术?
- Java反射能做哪些事情?
- 用反射如何修改一个类的private值?
- 如何判断一个对象是否属于某一个类?
- Java泛型,如何使用Java泛型去定义一个类?泛型主要解决了哪些问题?
- 线程的生命周期,线程有几个状态?
- 有接触过多线程吗?多线程解决了什么问题?用多线程可能会用到哪些问题?
- 怎么加锁?Lock加锁写一下代码
-
Linux
- 基本操作
- grep有用到吗?
-
写一个算法
- 求不超过10000的最大质数