于吉吉的技术博客

建造高性能门户网

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  65 随笔 :: 6 文章 :: 149 评论 :: 0 Trackbacks
有朋友去一家大型的互联网公司参加了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()大致可以满足,如果不行就写触发器吧

posted on 2011-04-21 17:23 陈于喆 阅读(3524) 评论(9)  编辑  收藏 所属分类: web开发java

评论

# re: 解答一下几道笔试题 2011-04-21 22:49 DB Compare Tool
题目涉及的范围也太宽泛了,而且有些题目的题意不清楚。
下面是几道题的看法:

4, Spring可以用声明式的事务管理,在配置文件中声明事务管理器和AOP切入点。

5,这个是要考多线程情况下的共享数据同步,这个有点难度。

11, 这个好像是大学课本上的一道题目吧。

15, 这个应该很简单啊,通常实现的时候可以使用jakarta commons的类。  回复  更多评论
  

# re: 解答一下几道笔试题 2011-04-21 22:53 iAskEngineer
2.怎样让jvm加载一个Class的同时执行一段代码

static {
}  回复  更多评论
  

# re: 解答一下几道笔试题[未登录] 2011-04-22 20:50 星情
没记错的话,这个是支付宝(北京)的面试题……  回复  更多评论
  

# re: 解答一下几道笔试题 2011-04-22 23:25 八爪
第二题应该是改写Classloader才对吧  回复  更多评论
  

# re: 解答一下几道笔试题 2011-04-22 23:27 八爪
第六题可以把XML改写成JSON格式的URL   回复  更多评论
  

# re: 解答一下几道笔试题 2011-04-24 18:13 5a77
我爱亲亲 www.5a77.com
爱吃网 www.a0a7.com
爱搜网 www.asw.so
看看网 www.kkw.so  回复  更多评论
  

# re: 解答一下几道笔试题 2011-04-25 10:26 好看的电影
呵呵,这些题我基本都回答不上来  回复  更多评论
  

# re: 解答一下几道笔试题 2011-05-05 13:53 asd
不错  回复  更多评论
  

# re: 解答一下几道笔试题 2012-03-27 20:40 新款女鞋
写得很好哈,每次都会来支持你的,继续为你加油哈
新款女鞋 www.a0a7.com
淘宝商城女装 www.5a77.com  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: