日期:2014-05-20  浏览次数:20597 次

面试题--百度java面试题(8月13日)

1、一个双向图,图中每个节点代表一条数据记录,请设计数据库表结构;设计算法,列出任意两点间的所有路径。

?

计算图中两点的最小距离,这个在数据结构的图那一章节中,一般都会提到,建议看看。

2、如何实现缓存中数据的有效时间为30分钟(每条新添数据在30分钟后失效)。

?

数据实体入到缓存区的时候,给数据配上时间戳等属性,然后缓存区中应该有配备定时器,定时刷新比对时间,淘汰过期数据实体。(监听器)
##:服务器端:
方法一:采用线程控制,设定线程的休眠时间为30分钟;
数据库端:
方法一:采用job定时任务;
客户端:
方法一:
B/S模式下IE中可以使用setTimeout(“置数据失效”,30*60*1000),
C/S模式下可以使用客户端自带的定时任务,如Window下自带的定时任务去处理

3、cookie和session的联系,cookie中存放的具体内容是什么,如何实现用户的自动登录。

?

cookie是实现session的一种方式。cookiee保存在客户端,session存放在服务端。cookie中可以保存有限大小的一些数据,这些数据项需要设置有效时间,内容可以自己定义。自动登录的实现,文章就一大把了,看这人用session持久化配合客户端的cookiie似乎也是种办法:http://www.cnblogs.com/nokiaguy/archive/2008/06/05/1214695.html

4、权限控制问题:如何限制用户不能访问其权限以外的内容。

?

这个首先要对要访问的资源做归类定义,然后对这些定义的资源,做权限分配。
如果是在WEB框架中,那一半就是在访问资源的前端,通过拦截器之类的东西识别中
要访问的资源,然后配合权限数据,判定某此访问是否权限。这个问题太泛了,面试的时候应该找一个自己会的点,扯扯就可以了.

##:1.数据库端控制:权限存储在数据端,用户可访问权限写在数据库中,需要平凡访问数据;
2.文件控制方式:通过一个文件如xml文件方式控制,xml文件存储在客户端,用户访问时先到文件中查询权限;
3.服务器端:用户权限在服务启动是加载到内存中,访问速度较快,但是权限更新的维护是需要考虑的一个问题;
4.客户端:用户权限与用户登录的方式挂钩,如现在Portal模式(门户模式)有关;
5.第三方存储器:用户权限存储在第三方存储器上,如银行的U盾;