几道笔试题
2013-11-30 18:16
267 查看
1.cookie和session的作用以及他们的应用场合
2.怎样让jvm加载一个Class的同时执行一段代码
3.post和get区别
4.事务的属性有哪些?写出spring或jdbc管理事务的例子
5.实现一个高并发、高性能的hashmap。写出伪代码
6.解析一段xml,拼接成一个url。
7.怎么解决并发?怎么解决集群环境下的并发?
8.java GC的原理.
9.mysql支持事务吗?mysql存储引擎有哪些?
10.数据库数据查找比较慢的时候,如何解决?
11.学生 课程 选课的一个sql语句书写
12.查找日志文件中某一个信息出现的次数
13.32位linux操作系统中,最多支持多少个线程?
14.关于TreeMap操作的
15.重写类A的equals和hascode方法。类A有个属性private B b;
16.实现一个mysql的sequence。
下面是我的一点解答,也不知道对不对,现在的笔试要你白纸黑字写出这些东西真是难啊!
1)cookie和session的作用以及他们的应用场合
两者都是记录用户访问网站信息,但他们的保持状态不同,cookie是采用客户端保持,而session是采用服务端保持,一般来说cookie不是很安全,因为别人可以分析本地的cookie进行cookie欺骗,考虑到安全的问题应该使用session,session是保持在服务端,但当访问增多时,会增加服务器的压力。
在应用场合中,建议建用户登录,交易重要信息存放session,其他信息可以存放在cookie中,根据实际需求两者可以交替搭配使用。
2)怎样让jvm加载一个Class的同时执行一段代码
使用Class.forName()动态加载类(题目中有"同时",是否启用另一线程?)
3)post和get区别
从http动词协议来看,get是从服务器获取数据,post是向服务器上传数据
get方式会把数据出现在url中,post则不会
get提交的数据有大小限制,post则无
4)事务的属性有哪些?写出spring或jdbc管理事务的例子
有原子性,一致性,隔离性,持久性
spring提供了丰富的事务模型,主要是针对jdbc事务,jta事务,还有一些自定义事务(如果有人能从一张白纸写出spring transaction的例子,那真是佩服之极)
还是写一个简单jdbc事务
try{
class.forName("***");
...
conn=DriverManager.getConnection(url,user,password);
conn.createStartement().executeUpdate("****");//更新操作
conn.commit();//事务提交
}catch(Exception e){
..
conn.rollback();//事务回滚
..
}
5)实现一个高并发、高性能的hashmap。写出伪代码
什么叫做高性能,高并发的hashmap? 是要考hashmap的数据结构??
6)解析一段xml,拼接成一个url
xml,url???这两者有什么联系吗?
7)怎么解决并发?怎么解决集群环境下的并发?
(有很多点可以并发,web请求可以并发,数据库请求可以并发,怎么那么空泛)
高并发最重要的还是考虑到锁的问题,如数据库该用表锁用表锁,该用排他锁用排它锁,程序中要注意非线程安全的问题
高并发还有带来性能问题,缓存,负载均衡,这些看情况而定
8)java GC的原理.
又来,不回答你
9)mysql支持事务吗?mysql存储引擎有哪些?
支持,常用的是inndb和myisam
10)数据库数据查找比较慢的时候,如何解决?
假如是mysql
1.漏了索引,用explain看看查询语句是不是没使用索引或者索引使用有问题
2.使用show processlist看看是不是有sql卡住了
3.还有一种情况就是sql写得过于复杂,如goroupby,多表关联等等,使用desc来进行分析
4.还有就是配置的问题,如key_buffer等参数,这个看文档吧
5.最后一种就是机器负荷过高,调整结构来解决吧,比如使用mysql-proxy代理等等
11)学生 课程 选课的一个sql语句书写
??
12)查找日志文件中某一个信息出现的次数
cat 日志 | grep 信息 | wc -l
13) 32位linux操作系统中,最多支持多少个线程?
上网查了,写得很复杂,附上文章
http://www.517sou.net/Article/Linux-maximum-number-of-threads-and-the-maximum-number-of-processes.aspx
14)关于TreeMap操作的
TreeMap就是一颗平衡排序二叉树,操作的。。后面是什么??
15)重写类A的equals和hascode方法。类A有个属性private B b;
??
16)实现一个mysql的sequence
mysql的last_insert_id()大致可以满足,如果不行就写触发器吧
1.
当需要往一个hashMap里面put很多对象,你会怎么去new
这个hashmap?
注:主要审查是否懂得hash的数据结构,是否会用
HashMap(int initialCapacity, float loadFactor)
这个构造函数去创建一个大容积的Hash结构,懂得原理即可。如果回答正确,可深入问hashmap的扩容。
2.
实现一个先进先出的队列,分别有arraylist和linkedlist,选择哪个,为什么?
注:主要审查是否懂得线性表和链表。
3. 当我们new arrayList(20)一个这样的对象后,不断往里面添加add(object),加到第21个后,内存会有什么调整。
注:主要审查是否懂得可变array的本质,当内存进行扩容的本质是
Arrays.copyOf(elementData, newCapacity)
4.
一个类有几百个实现方法,突然有个需求:要纪录每个方法被调用的参数,时间为日志,这个怎么去实现?
注:主要审查是否使用aop等面向切面编程。如果回答正确,继续追问,只对方法名开头为’insert’,’update’等方法进行日志纪录,该怎么配对。注:主要审查对正则表达式的掌握。
5.在vi的编辑下,对光标所在行进行整行删除命令是什么,将光标移到当前行
第一列的命令是什么
注:主要审查在linux下最基础的vi编辑命令,不懂vi是否可认为无在linux真实工作?
6.
机器出现OutOfMemoryError: PermGen space
的内存溢出错误,解决思路是什么
注:主要审查是否明白方法区或叫永久区的定义,该区是否内存回收,什么实例会存放在该区,不求具体实现方案,主要有大概思路即可。
7.
你的系统将在明天出现读的高并发,该怎么准备
注:方法多种,主要检查思路,漫谈来观察。
8.
一台linux服务器每天定时生成一批文件,需要将这批文件同步到其他多台服务器,该怎么实现。
注:方法多种,如rsync,nfs,scp等等,主要检查linux下文件处理的能力,主要检查思路。
9.
为什么说尽量减小synchronized
方法
注:主要审核对同步实现方法的认识,如果能回答出“锁”的概念,继续追问,如果对实例方法加synchronized,
锁的对象是什么,对静态方法加synchronized
,锁的对象是什么
10.说说单例的使用场景是什么,如spring场景中就有许多单例模式
注:答案很多,可以漫谈来观察,能回答出,让多个线程相互通信达到资源共享即可
1.cookie和session的作用以及他们的应用场合
2.怎样让jvm加载一个Class的同时执行一段代码
3.post和get区别
4.事务的属性有哪些?写出spring或jdbc管理事务的例子
5.实现一个高并发、高性能的hashmap。写出伪代码
6.解析一段xml,拼接成一个url。
7.怎么解决并发?怎么解决集群环境下的并发?
8.java GC的原理.
9.mysql支持事务吗?mysql存储引擎有哪些?
10.数据库数据查找比较慢的时候,如何解决?
11.学生 课程 选课的一个sql语句书写
12.查找日志文件中某一个信息出现的次数
13.32位linux操作系统中,最多支持多少个线程?
14.关于TreeMap操作的
15.重写类A的equals和hascode方法。类A有个属性private B b;
16.实现一个mysql的sequence。
下面是我的一点解答,也不知道对不对,现在的笔试要你白纸黑字写出这些东西真是难啊!
1)cookie和session的作用以及他们的应用场合
两者都是记录用户访问网站信息,但他们的保持状态不同,cookie是采用客户端保持,而session是采用服务端保持,一般来说cookie不是很安全,因为别人可以分析本地的cookie进行cookie欺骗,考虑到安全的问题应该使用session,session是保持在服务端,但当访问增多时,会增加服务器的压力。
在应用场合中,建议建用户登录,交易重要信息存放session,其他信息可以存放在cookie中,根据实际需求两者可以交替搭配使用。
2)怎样让jvm加载一个Class的同时执行一段代码
使用Class.forName()动态加载类(题目中有"同时",是否启用另一线程?)
3)post和get区别
从http动词协议来看,get是从服务器获取数据,post是向服务器上传数据
get方式会把数据出现在url中,post则不会
get提交的数据有大小限制,post则无
4)事务的属性有哪些?写出spring或jdbc管理事务的例子
有原子性,一致性,隔离性,持久性
spring提供了丰富的事务模型,主要是针对jdbc事务,jta事务,还有一些自定义事务(如果有人能从一张白纸写出spring transaction的例子,那真是佩服之极)
还是写一个简单jdbc事务
try{
class.forName("***");
...
conn=DriverManager.getConnection(url,user,password);
conn.createStartement().executeUpdate("****");//更新操作
conn.commit();//事务提交
}catch(Exception e){
..
conn.rollback();//事务回滚
..
}
5)实现一个高并发、高性能的hashmap。写出伪代码
什么叫做高性能,高并发的hashmap? 是要考hashmap的数据结构??
6)解析一段xml,拼接成一个url
xml,url???这两者有什么联系吗?
7)怎么解决并发?怎么解决集群环境下的并发?
(有很多点可以并发,web请求可以并发,数据库请求可以并发,怎么那么空泛)
高并发最重要的还是考虑到锁的问题,如数据库该用表锁用表锁,该用排他锁用排它锁,程序中要注意非线程安全的问题
高并发还有带来性能问题,缓存,负载均衡,这些看情况而定
8)java GC的原理.
又来,不回答你
9)mysql支持事务吗?mysql存储引擎有哪些?
支持,常用的是inndb和myisam
10)数据库数据查找比较慢的时候,如何解决?
假如是mysql
1.漏了索引,用explain看看查询语句是不是没使用索引或者索引使用有问题
2.使用show processlist看看是不是有sql卡住了
3.还有一种情况就是sql写得过于复杂,如goroupby,多表关联等等,使用desc来进行分析
4.还有就是配置的问题,如key_buffer等参数,这个看文档吧
5.最后一种就是机器负荷过高,调整结构来解决吧,比如使用mysql-proxy代理等等
11)学生 课程 选课的一个sql语句书写
??
12)查找日志文件中某一个信息出现的次数
cat 日志 | grep 信息 | wc -l
13) 32位linux操作系统中,最多支持多少个线程?
上网查了,写得很复杂,附上文章
http://www.517sou.net/Article/Linux-maximum-number-of-threads-and-the-maximum-number-of-processes.aspx
14)关于TreeMap操作的
TreeMap就是一颗平衡排序二叉树,操作的。。后面是什么??
15)重写类A的equals和hascode方法。类A有个属性private B b;
??
16)实现一个mysql的sequence
mysql的last_insert_id()大致可以满足,如果不行就写触发器吧
1.
当需要往一个hashMap里面put很多对象,你会怎么去new
这个hashmap?
注:主要审查是否懂得hash的数据结构,是否会用
HashMap(int initialCapacity, float loadFactor)
这个构造函数去创建一个大容积的Hash结构,懂得原理即可。如果回答正确,可深入问hashmap的扩容。
2.
实现一个先进先出的队列,分别有arraylist和linkedlist,选择哪个,为什么?
注:主要审查是否懂得线性表和链表。
3. 当我们new arrayList(20)一个这样的对象后,不断往里面添加add(object),加到第21个后,内存会有什么调整。
注:主要审查是否懂得可变array的本质,当内存进行扩容的本质是
Arrays.copyOf(elementData, newCapacity)
4.
一个类有几百个实现方法,突然有个需求:要纪录每个方法被调用的参数,时间为日志,这个怎么去实现?
注:主要审查是否使用aop等面向切面编程。如果回答正确,继续追问,只对方法名开头为’insert’,’update’等方法进行日志纪录,该怎么配对。注:主要审查对正则表达式的掌握。
5.在vi的编辑下,对光标所在行进行整行删除命令是什么,将光标移到当前行
第一列的命令是什么
注:主要审查在linux下最基础的vi编辑命令,不懂vi是否可认为无在linux真实工作?
6.
机器出现OutOfMemoryError: PermGen space
的内存溢出错误,解决思路是什么
注:主要审查是否明白方法区或叫永久区的定义,该区是否内存回收,什么实例会存放在该区,不求具体实现方案,主要有大概思路即可。
7.
你的系统将在明天出现读的高并发,该怎么准备
注:方法多种,主要检查思路,漫谈来观察。
8.
一台linux服务器每天定时生成一批文件,需要将这批文件同步到其他多台服务器,该怎么实现。
注:方法多种,如rsync,nfs,scp等等,主要检查linux下文件处理的能力,主要检查思路。
9.
为什么说尽量减小synchronized
方法
注:主要审核对同步实现方法的认识,如果能回答出“锁”的概念,继续追问,如果对实例方法加synchronized,
锁的对象是什么,对静态方法加synchronized
,锁的对象是什么
10.说说单例的使用场景是什么,如spring场景中就有许多单例模式
注:答案很多,可以漫谈来观察,能回答出,让多个线程相互通信达到资源共享即可
相关文章推荐
- 嵌入式面试中遇到几道笔试题
- 几道Java笔试题
- 几道典型的C++笔试题
- 几道经典的SQL笔试题目(转载)
- 笔试:最少再出几道题?补充题目
- 几道经典的嵌入式C语言笔试题
- 几道笔试题
- 黑夜路人出的几道php笔试题
- 几道经典SQL笔试题
- 【python学习笔记】几道笔试题(2)
- 几道C++笔试题,看看你的功底如何
- [原创]我自己想的几道入门PHP笔试题
- 转几道慧通笔试题
- 分享几道嵌入式c笔试题
- 【面试笔试-php】几道php小面试题目
- 几道笔试题
- 几道经典的嵌入式C语言笔试题
- 【javascript 面试笔试】1、几道笔试题
- java 笔试之继承基础(看看你能做对几道题)初学者不要小看啊
- 几道C语言笔试题及个人理解