某公司面试打分文档,75分通过
一 基础知识 40
1 计算机基础 5
- 网络:DNS用TCP还是UDP?TCP连接状态变化?TCP滑动窗口?
- 安全:常用的算法?什么是非对称加密?Https?
- 操作系统:物理内存和虚拟内存?进程通信?多进程与多线程?
- Linux:常用命令?如何判断网络是否通?如何杀掉占用某个端口的进程?如何查看/搜索日志?
答:
DNS使用的是UDP
常用算法:递归与分治,动态规划,贪心算法,回溯法,分支限界法
其他:
2 数据库 5
索引?乐观锁?数据库连接池?upsert?事务?NoSql?Redis 常用的数据类型?
3 Java 5
HashMap?子类和父类用了同名变量?List<?>和List<Object>之间的区别?
Java 8新特性? 如何遍历删掉一个元素?final关键字?JVM内存模型?类加载器?
4 多线程 5
Concurrent并发包用过什么?
SimpleDateFormat为什么会有问题?
CAS?
ThreadLocal原理?
ConcurrentHashMap实现?
volatile的作用?
5 性能 5
用过哪些工具(JDK和操作系统)?
Top里面us sy什么意思?
解决过哪些性能问题?
性能测试应该关注哪些指标?
QPS和TPS?
6 开发相关 5
IDE的快捷键?
Maven snapshot什么含义?
Maven怎么排除依赖?
git如何回退?
UT用过哪些Mock工具?
敏捷开发?
7 框架 5
Spring beanfactory和factory bean?
Mybatis #和$区别?
Spring的原型和单例?
AOP和IOC?
如果处理通用异常?
实现过哪些Spring/Mybatis的接口?
Mybatis的缓存?
8 算法与数据结构 5
二 项目 30
考察候选人对项目的熟悉程度以及业务的理解。并引申出一些技术和架构的问题。
三 设计 20
现有工作中的一些小功能
四 其他能力 10
怎么学习新技术,最近有什么打算? 假如一个应用在线上好好的,突然不能用了,怎么找问题? 遇到过什么难的问题? 有哪些为团队技术、流程提高的? 你认为完善的项目流程是什么样子的?