编程语言基础,语法,面向对象
- private ,protected,public的访问权限?
- try catch finally的使用?
public Integer a()
{
int i = 1;
try{
i <<= 1;
return i;
}finally{
i <<= 1;
return i;
}
}
- 如何重写/重载一个方法?
- java反射有哪些适合的全用场景,或者说有哪些用法
- java代理的使用场景
- java 类加载顺序
- 实现一个单例,且不允许有子类,该实现是否是线程安全的。
工作相关的常用第三方库及api ,svn,git
- ArrayList , LinkList , TreeMap , HashMap , ConcurrentHashMap ,HashSet , Input/OutputStream , HttpClient , Arrays , IOUtils ......等等
- 线程sleep/wait的区别,
- Executors线程池
- svn , git 命令
软件工程,评估代码量,质量如何度量,高内聚低耦合,
- 你们的软件开发的流程
- 你们怎么评估工作量和工期的
- 你们怎么评价代码质量好坏,有什么工具可以使用
- 客户/产品的一句话需求,你怎么办?
- 设计一个高内聚低耦合的结构,从淘宝某一个/非常多个产品详情页面抓取产品价格,如果价格比我们系统低,就通知道我们相关负责人处理。
数据库,sql, 事务,索引,执行计划,
- 事务ACID,事务隔离级别
- 防止sql注入
- 写一个sql,怎么创建索引,能让这个sql使用到索引
- 如何优化慢sql
- 数据库锁
计算机组成原理,操作系统 ,linux系统 ,网络IO,常用shell命令
- linux基础操作命令
- swap,虚拟内存,进程,线程,文件系统,线程上下文切换,进程地址空间,中断
网络7层模型,tcp/ip通信,http/https通信 ,web原理 ,
- ip & mac
- tcp握手,time_wait,close_wait
- http + ssl
- 无状态协议,
- LVS原理
数据结构,算法,最短路径,0/1背包问题
- Array, List, Map , 排序,
- 时间复杂度分析
- ........
编译原理,正则表达式
- 正则表达式
- 词法分析, 语法分析
- lex & yacc || ANTLR
- c/java 嵌入脚本,lua,javascript
javascript , css , ajax , bootstrap , websocket , BIO, NIO ,容器tomcat , servlet ,springMVC, ibatis(ORM)
- js闭包 , css position.......
- ajax跨域 .jsonp , websocket
- BIO, NIO ,epoll .kqueue原理
- tomcat.......
- servlet
- springMVC, WebRootContext , ServletContext, DispatcherServlet , HandlerMapping ,HandlerAdapter , ViewResolver , View
中间件:工作流引擎,消息中间件,规则引擎,搜索引擎,身份认证,缓存中间件,分布式一致性
- 用过,知道哪些中间件。各是解决什么问题的。
- 如何设计一个搜索引擎 , SSO
- 一致性Hash
高并发集群解决方案: dns ,lvs ,nginx , session集中化,避免单点
- sleep & wait & Lock & Condition
- 集群方案,原理
设计模式,服务化,避免rpc耦合,异步调用
- 抽象工厂
- 分布式一致问题, CAP
技术选型
- 设计架构,确定技术方案要考虑哪些因素。