读书人

解答一上几道笔试题

发布时间: 2012-12-18 12:43:41 作者: rapoo

解答一下几道笔试题

有朋友去一家大型的互联网公司参加了java程序员的笔试,抄下了一些笔试题,可能有的抄的并不全,试了解答一下,有些还真的答不出来

??? 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()大致可以满足,如果不行就写触发器吧

读书人网 >编程

热点推荐