java基本数据类型
byte:8位,最大存储数据量是255,存放的数据范围是-128~127之间。
short:16位,最大数据存储量是65536,数据范围是-32768~32767之间。
int:32位,最大数据存储容量是2的32次方减1,数据范围是负的2的31次方到正的2的31次方减1。
long:64位,最大数据存储容量是2的64次方减1,数据范围为负的2的63次方到正的2的63次方减1。
float:32位,数据范围在3.4e-45~1.4e38,直接赋值时必须在数字后加上f或F。
double:64位,数据范围在4.9e-324~1.8e308,赋值时可以加d或D也可以不加。
boolean:只有true和false两个取值。
char:16位,存储Unicode码,用单引号赋值。
int取值范围
我的回答:不清楚,这个问题太细节了,没刻意记过
标准答案:占用4个字节(-2的31次方到2的31次方-1)
你知道的设计模式
单例模式,装饰模式,工厂模式,策略模式等等
标准答案:
设计模式分为三种类型,共23种:
创建型模式:单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。
结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。
行为型模式:模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式(责任链模式)、访问者模式。
写一个单例模式的例子
我的答案:
public class Student{
}
public class Test{
private Student st;
public Student studentFC(){
return st;
}
}
标准答案:
public class Singleton {
private static Singleton uniqueInstance = null;
private Singleton() {
// Exists only to defeat instantiation.
}
public static Singleton getInstance() {
if (uniqueInstance == null) {
uniqueInstance = new Singleton();
}
return uniqueInstance;
}
// Other methods...
}
hibernate中使用最多的设计模式
我的回答:工厂设计模式
spring中的xmlbeanfactory的作用
我的答案:呃。。。请问具体指哪些方面?。。。加载xml文件?
XmlBeanFactory继承自DefaultListableBeanFactory,扩展了从xml文档中读取bean definition的能力。
spring配置文件中配置的是一些什么东西
我的回答:bean和一些切面?
事务的特性
acid,原子性,一致性,隔离性,持久性
表视图的创建
我的回答:视图不常用到。。。
标准答案:
CREATE VIEW `view_name` AS
SELECT * FROM table_name;
手写分页sql语句?(mysql中分页的关键字)
我:太麻烦了,现在不是太想计算
标准答案:
limit 基本实现方式
一般情况下,客户端通过传递 pageNo(页码)、pageSize(每页条数)两个参数去分页查询数据库中的数据,在数据量较小(元组百/千级)时使用 MySQL自带的 limit 来解决这个问题:
收到客户端{pageNo:1,pagesize:10}
select * from table limit (pageNo-1)*pageSize, pageSize;
收到客户端{pageNo:5,pageSize:30}
select * from table limit (pageNo-1)*pageSize,pageSize;
建立主键或者唯一索引
在数据量较小的时候简单的使用 limit 进行数据分页在性能上面不会有明显的缓慢,但是数据量达到了 万级到百万级 sql语句的性能将会影响数据的返回。这时需要利用主键或者唯一索引进行数据分页;
假设主键或者唯一索引为 good_id
收到客户端{pageNo:5,pagesize:10}
select * from table where good_id > (pageNo-1)*pageSize limit pageSize;
–返回good_id为40到50之间的数据
基于数据再排序
当需要返回的信息为顺序或者倒序时,对上面的语句基于数据再排序。order by ASC/DESC 顺序或倒序 默认为顺序
select * from table where good_id > (pageNo-1)*pageSize order by good_id limit pageSize;
–返回good_id为40到50之间的数据,数据依据good_id顺序排列
linux常用命令有哪些
http://www.cnblogs.com/yjd_hycf_space/p/7730690.html
把一个文件的访问权限改为所有者和组可读写,其它用户可读
chmod 664 test.jar
根据文件名查询文件的命令
https://blog.csdn.net/xianjie0318/article/details/65936065
查询端口状态的命令
netstat
https://www.cnblogs.com/Archmage/p/7570716.html
添加用户和密码的命令
使用管理员账号登陆系统,建立用户tmp_3452 密码3sdt5:Eawhg
添加用户命令:
代码如下 | 复制代码 |
[root@ptr228 ~]# useradd tmp_3452 修改密码命令: [root@ptr228 ~]# passwd tmp_3452 |
线程和进程的关系,用一个非专业人事能听懂的例子来表述
我的回答:线程是系统调度的最小单位,进程是资源分配的最小单位。举例来说:进程就像一家公司,获取了资金等资源,而线程就像公司里的员工各司其职,分工合作利用这些资源完成任务。
标准答案:https://blog.csdn.net/dandycheung/article/details/6573643
servlet的生命周期
Servlet重要的四个生命周期方法
构造方法: 创建servlet对象的时候调用。默认情况下,第一次访问servlet的时候创建servlet对象,只调用1次。证明servlet对象在tomcat是单实例的。
init方法: 创建完servlet对象的时候调用。只调用1次。
service方法: 每次发出请求时调用。调用n次。
destroy方法: 销毁servlet对象的时候调用。停止服务器或者重新部署web应用时销毁servlet对象。只调用1次。
java中多线程的实现?
通过直接继承Thread或实现Runnable接口并重写run方法实现一个线程任务逻辑,然后由Thread的start方法启用一个线程或者将任务交给线程执行器,由线程执行器的execute执行。多线程存在共享资源竞争的问题,为了实现同步可以给共享资源加锁或者将易变性变量声明为volatile类型,有时候为了提升性能,还会使用一些原子数据类型来消除锁。
list和set的区别有哪些?
我的回答:list存放的数据是有序的,set是存放的数据是无序的,set不能存放重复的元素。
标准答案:
List:1.可以允许重复的对象。
2.可以插入多个null元素。
3.是一个有序容器,保持了每个元素的插入顺序,输出的顺序就是插入的顺序。
4.常用的实现类有 ArrayList、LinkedList 和 Vector。ArrayList 最为流行,它提供了使用索引的随意访问,而 LinkedList 则对于经常需要从 List 中添加或删除元素的场合更为合适。
Set:1.不允许重复对象
2. 无序容器,你无法保证每个元素的存储顺序,TreeSet通过 Comparator 或者 Comparable 维护了一个排序顺序。
3. 只允许一个 null 元素
4.Set 接口最流行的几个实现类是 HashSet、LinkedHashSet 以及 TreeSet。最流行的是基于 HashMap 实现的 HashSet;TreeSet 还实现了 SortedSet 接口,因此 TreeSet 是一个根据其 compare() 和 compareTo() 的定义进行排序的有序容器。
.你的项目经验中有一项高炉炼铁预测系统项目,能说说你们是怎么实现预测功能的么?
我:就是根据以往的数据实现对将来配料的分量的自动计算,他们有自己的算法,我只负责数据库部分
标准答案:
高炉炼铁预测系统是应马鞍山钢铁公司的要求开发的,我们基于学长的论文开发实现了这个系统,高炉炼铁需要对原料进行精密的控制,每种原料分量的差异都会影响最终产出钢铁质量,所以采取一开始导入以往炼铁的数据来套用公式分析出最优的配料方式,以后管理员在录入数据时就会得到一个和最优配料数据的对比建议,以及最终产出钢铁质量的等级评价。并且此次录入的数据也会被当作纳入预测系统的元数据进行分析。
你对大数据有感兴趣么?对这方面有没有进行过学习?
嗯,感兴趣,但是没有地方学习。。。
.你能接收出差么?
我比较年轻,能够接受出差
你期望的薪资是多少?
5~6k左右吧
面试官:嗯,好的,就这样吧,一周之内给你通知。