昨天和今天分别收到两次电话面试,有一点小小感悟,遂注之。
作为一枚还未毕业的大三狗来说,我在想,找个实习真的是西天取金,必定要先经历九九八十一难吗(伤心)?所以在这里整理了电话面试遇到的问题:
- 集合框架
- Collection<I>
- Set<I>
- HashSet<C>
- TreeSet<C>
- List<I>
- LinkedList<C>
- ArrayList<C>
- Vector<C>
- Set<I>
- Map<I>
- HashMap<C>
- HashTable<C>
- Collection<I>
- 多线程
- extends Thread
- 自定义一个类继承Thread类。
- 重写Thread的run方法,把自定义线程的任务代码定义在run方法上
- 创建Thread子类的对象,并且调用start方法启动一个线程。
- implements Runnable
- 自定义一个类实现Runnable接口
- 实现Runnable接口中的run方法,把自定义线程的任务代码定义在run方法上。
- 创建Runable实现类 的对象。
- 创建Thread对象,并且把Runnable实现类的对象作为参数传递。
- 调用Thread对象的start方法开启线程。
- extends Thread
- 数据库
- 索引
- 唯一性索引
- 不允许其中两行有相同索引值的索引
- 主键索引
- 主键索引是唯一索引的特定类型
- 在聚集索引中,表中行的物理顺序与键值的逻辑(索引)顺序相同。一个表只能包含一个聚集索引。与非聚集索引相比,聚集索引通常提供更快的数据访问速度。
- 非聚集索引
- 一种索引,该索引中索引的逻辑顺序与磁盘上行的物理存储顺序不同。
聚集索引
- 唯一性索引
- 事务
- 四大特性
- 原子性:每一个操作都是一个逻辑单元,进行事务操作,要么全部成功,要么全部失败
- 隔离性:允许多个用户对同一数据进行访问
- 一致性:只有合法的数据可以被写入到数据库中,否则事务回滚
- 持久性:书屋处理结果必须固化
- 四大隔离级别
- Read Uncommited 读未提交
- Read Commited 读已提交
- Unrepeatable Read 不可重复读
- Serializable 串行化
- 四大特性
- 索引
- 并发引起的问题
- Lost Update 丢失更新
- Dirty Read 脏读
- Unrepeatable Read 不可重复读
- Phantom Read 幻读
- 并发引起的问题
4. 正则表达式
- 电话号码的表示
- 11位手机号:/^1[34578]\d{9}$/
- 身份证号的表示:
- 15位或者17位: (^\d{15}$)|(^\d{17}([0-9]|X))$
- 电话号码的表示
5.基本数据结构
- 排序
- 哈希表
- 树
- 链表
6.常见的几种设计模式
- 基本原则(SOLID)
- 单一职责原则(Single Responsibility Principle)
- 开放闭合原则(Open Closed Principle)
- 里氏代换原则(Liskov Substitution Principle,LSP)
- 接口隔离原则(Interface Segregation Principle,ISP)
- 依赖倒置原则(Dependency Inversion Principle)
- 单例模式
- 简单工厂模式
- 适配器模式
- 装饰着模式
- 基本原则(SOLID)
7.常见的Linux/Unix命令
- 查看进程:
- ps:静态显示当前进程
- 查看端口占用 :ps -aux | grep tomcat
- 查看指定端口占用情况:nestat -apn | grep 8080
- top:动态显示,查看内存占用
- 查看oracle的内存占用:top -u oracle
- 动态显示内存占用:top
- df/du:显示磁盘空间
- df -k/m 磁盘分区为单位查看文件系统
- du -bs dir_name 查看某个目录
- ps:静态显示当前进程
- 查看进程:
8.Svn | git
9.Maven中传递依赖异常