搜索引擎算法研究
搜索引擎算法研究
1.引言
万维网WWW(World Wide Web)是一个巨大的,分布全球的信息服务中心,正在以飞快的速度扩展。1998年WWW上拥有约3.5亿个文档[14],每天增加约1百万的文档[6],不到9个月的时间文档总数就会翻一番[14]。WEB上的文档和传统的文档比较,有很多新的特点,它们是分布的,异构的,无结构或者半结构的,这就对传统信息检索技术提出了新的挑战。
传统的WEB搜索引擎大多数是基于关键字匹配的,返回的结果是包含查询项的文档,也有基于目录分类的搜索引擎。这些搜索引擎的结果并不令人满意。有些站点有意提高关键字出现的频率来提高自身在搜索引擎中的重要性,破坏搜索引擎结果的客观性和准确性。另外,有些重要的网页并不包含查询项。搜索引擎的分类目录也不可能把所有的分类考虑全面,并且目录大多靠人工维护,主观性强,费用高,更新速度慢[2]。
最近几年,许多研究者发现,WWW上超链结构是个非常丰富和重要的资源,如果能够充分利用的话,可以极大的提高检索结果的质量。基于这种超链分析的思想,Sergey Brin和Lawrence Page在1998年提出了PageRank算法[1] ,同年J. Kleinberg提出了HITS算法[5],其它一些学者也相继提出了另外的链接分析算法,如SALSA,PHITS,Bayesian等算法。这些算法有的已经在实际的系统中实现和使用,并且取得了良好的效果。
文章的第2部分按照时间顺序详细剖析了各种链接分析算法,对不同的算法进行了比较。第3部分对这些算法做了评价和总结,指出了存在的问题和改进方向。
精妙SQL语句收集
SQL语句先前写的时候,很容易把一些特殊的用法忘记,我特此整理了一下SQL语句操作。
一、基础
1、说明:创建数据库
CREATE DATABASE database-name
2、说明:删除数据库
drop database dbname
3、说明:备份sql server
— 创建 备份数据的 device
USE master
EXEC sp_addumpdevice ‘disk’, ‘testBack’, ‘c:\mssql7backup\MyNwind_1.dat’
— 开始 备份
BACKUP DATABASE pubs TO testBack
4、说明:创建新表
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
根据已有的表创建新表:
A:create table tab_new like tab_old (使用旧表创建新表)
B:create table tab_new as select col1,col2… from tab_old definition only
5、说明:删除新表
drop table tabname
6、说明:增加一个列
Alter table tabname add column col type
注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。
7、说明:添加主键: Alter table tabname add primary key(col)
说明:删除主键: Alter table tabname drop primary key(col)
8、说明:创建索引:create [unique] index idxname on tabname(col….)
删除索引:drop index idxname
注:索引是不可更改的,想更改必须删除重新建。
9、说明:创建视图:create view viewname as select statement
删除视图:drop view viewname
10、说明:几个简单的基本的sql语句
选择:select * from table1 where 范围
插入:insert into table1(field1,field2) values(value1,value2)
删除:delete from table1 where 范围
更新:update table1 set field1=value1 where 范围
查找:select * from table1 where field1 like ‘%value1%’ —like的语法很精妙,查资料!
排序:select * from table1 order by field1,field2 [desc]
总数:select count as totalcount from table1
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1
javascript弹出窗口问题总结
1.无提示刷新网页
大家有没有发现,有些网页,刷新的时候,会弹出一个提示窗口,点“确定”才会刷新。
而有的页面不会提示,不弹出提示窗口,直接就刷新了.
如果页面没有form,
则不会弹出提示窗口
如果页面有form表单,
a)<form method=”post” …>
会弹出提示窗口
b)<form method=”get” …>
不会弹出
2 javascript刷新页面的方法
window.location.reload();
使用window.open()弹出的弹出窗口,刷新父窗口
window.opener.location.reload()
使用window.showDialog弹出的模式窗口
window.dialogArguments.location.reload();
3.javascript弹出窗口代码
下面给两个弹出屏幕居中窗口的例子
window.open()方式
function ShowDialog(url) {
var iWidth=300; //窗口宽度
var iHeight=200;//窗口高度
var iTop=(window.screen.height-iHeight)/2;
var iLeft=(window.screen.width-iWidth)/2;
window.open(url,”Detail”,”Scrollbars=no,Toolbar=no,Location=no,Direction=no,Resizeable=no,
Width=”+iWidth+” ,Height=”+iHeight+”,top=”+iTop+”,left=”+iLeft);
}
window.showModalDialog方式
function ShowDialog(url) {
var iWidth=300; //窗口宽度
var iHeight=200;//窗口高度
var iTop=(window.screen.height-iHeight)/2;
var iLeft=(window.screen.width-iWidth)/2;
window.showModalDialog(url,window,”dialogHeight: “+iHeight+”px; dialogWidth: “+iWidth+”px;
dialogTop: “+iTop+”; dialogLeft: “+iLeft+”; resizable: no; status: no;scroll:no”);
}
注意这里的第二个参数,window
4.模式窗口数据不刷新(缓存)问题
在jsp页面加入如下语句
<%
response.setHeader(”Pragma”,”No-Cache”);
response.setHeader(”Cache-Control”,”No-Cache”);
response.setDateHeader(”Expires”, 0);
%>
5,模式窗口中,链接弹出新窗口问题
在</head>和<body>间加入<base target=”_self”>
6.无提示关闭页面的方法
function CloseWin(){
var ua = navigator.userAgent; var ie = navigator.appName==”Microsoft Internet Explorer”?true:false;
if(ie){
var IEversion = parseFloat(ua.substring(ua.indexOf(”MSIE “)+5,ua.indexOf(”;”,ua.indexOf(”MSIE “))));
if( IEversion< 5.5){
var str = ”;
document.body.insertAdjacentHTML(”beforeEnd”, str);
document.all.noTipClose.Click();
} else {
window.opener =null; window.close();
}
}else{
window.close()
}
}
经典面试问题回答思路
面试过程中,面试官会向应聘者发问,而应聘者的回答将成为面试官考虑是否接受他的重要依据。对应聘者而言,了解这些问题背后的“猫腻”至关重要。本文对面试中经常出现的一些典型问题进行了整理,并给出相应的回答思路和参考答案。读者无需过分关注分析的细节,关键是要从这些分析中“悟”出面试的规律及回答问题的思维方式,达到“活学活用”。
问题一:“请你自我介绍一下”
思路:
1、这是面试的必考题目。
2、介绍内容要与个人简历相一致。
3、表述方式上尽量口语化。
4、要切中要害,不谈无关、无用的内容。
5、条理要清晰,层次要分明。
6、事先最好以文字的形式写好背熟。
问题二:“谈谈你的家庭情况”
思路:
1、家庭状况对于了解应聘者的性格、观念、心态等有一定的作用,这是招聘单位问该问题的主要原因。
2、不要简单地罗列家庭人口。
3、宜强调温馨和睦的家庭氛围。
4、宜强调父母对自己教育的重视。
5、宜强调各位家庭成员的良好状况。
6、宜强调家庭成员对自己工作的支持。
7、宜强调自己对家庭的责任感 。
问题三:“你有什么业余爱好?”
思路:
1、业余爱好能在一定程度上反映应聘者的性格、观念、心态,这是招聘单位问该问题的主要原因。
2、最好不要说自己没有业余爱好。
3、不要说自己有那些庸俗的、令人感觉不好的爱好。
4、最好不要说自己仅限于读书、听音乐、上网,否则可能会令面试官怀疑应聘者性格孤僻。
5、 最好能有一些户外的业余爱好来“点缀”你的形象。
问题四:“你最崇拜谁?”
思路:
1、最崇拜的人能在一定程度上反映应聘者的性格、观念、心态,这是面试官问该问题的主要原因。
2、不宜说自己谁也不崇拜。
3、不宜说崇拜自己。
4、不宜说崇拜一个虚幻的、或是不知名的人。
5、不宜说崇拜一个明显具有负面形象的人。
6、所崇拜的人最好与自己所应聘的工作能“搭”上关系。
7、最好说出自己所崇拜的人的哪些品质、哪些思想感染着自己、鼓舞着自己。
问题五:“你的座右铭是什么?
小技巧教你攻破面试关
面试,是所有人都要经历的求职关。要跨越这道关卡,个中精髓可不能不掌握。
企业攻略
攻略一:企业想了解什么
面试是企业“伯乐相马”的过程,他们想“相”的是德才兼备的人才,所以他们非常关注求职者的综合素质和实际运用能力。企业的考察涉及方方面面,除了考察求职者的专业技能这些“硬件”外,更注重“软件”资质,如学习能力、适应能力、表达能力、说服沟通能力、创新能力、组织协调能力、团队合作精神等。另外,职业道德、敬业精神和人文素质也是衡量的要点。
攻略二:企业爱用的招数
目前,企业在招聘过程中,除了传统的口试和笔试外,还加入了管理游戏和情景模拟面试法,这样,对求职者的考察会更加全面。
求职者要学会以不变应万变。首先,面试前,要仔细分析自己的强项和弱项,扬长避短,明确定位,尽可能详尽了解招聘企业的用人制度、企业文化和应聘职位的要求,寻找自己与企业的最佳契合点。其次,在面试前最好做一次有针对性的模拟面试,估计考官会问什么样的问题,自己采取什么策略来回答,这样,基本上能做到心中有数。
求职者攻略
攻略一:第一印象要留好
面试时给考官的第一印象很重要,开始的印象往往很可能就决定了面试结果。大体说来,着装应与企业性质、文化相吻合,与职位相匹配。不论去什么公司,正装不仅正式大方,而且对别人也是一种尊重。女孩子一定要注重衣着形态的细节,避免穿无袖、露背、迷你裙等装束。对于初次求职者或刚出校门的大学生,服装也要以大方简洁为主。此外,女性求职者在夏季面试时要注意化妆端庄淡雅,细节之处处理好,如头发、指甲、配件等都应干净清爽,显示出干练精神的良好印象。
攻略二:切忌紧张与慌张
面对掌握“生杀予夺”权力的面试官,多数人都会表现出紧张来,这是面试的大忌。对大多数人来说,面试时的紧张多半是由于太在乎面试机会,惟恐不被录取导致的。告诉你一个调整方法:面试前努力全身心放松;面试时用深呼吸的方法保持平静,或用心理暗示的方法来使自己放松,如在心里默念“我很放松,我尽力就行了”。只有放松,才能准确把握考官要问的问题和自己的回答方式。记住,心情放松、心态平和、充满自信,这样不仅能给考官留下好印象,也有利于保持头脑清醒、思维敏捷,在这样的状态下所做的回答才是最能令考官满意的。
攻略三:自我介绍,重点突出
“自我介绍”几乎是所有考官必问的题目,求职者在回答时一定要注意,所述内容要与简历相一致,若自相矛盾,只会给自己平添麻烦。在真正做“自我介绍”时,不妨坦诚自信地展现自我,重点突出与应聘职位相吻合的优势。你的相关能力和素质是企业最感兴趣的信息,因此,在许多情况下,在听取你的介绍时,考官也会抓住他感兴趣的点深入询问。所以,在进行表述时,要力求以真实为基础,顾及表达的逻辑性和条理性,避免冗长而没有重点的叙述。这样专业而出色的表现,肯定是令考官们赞赏有加的。
到底考官们想从“自我介绍”中“嗅”出点什么来?其实,“自我介绍”是考官对面试者进行的综合能力考察,主要评估面试者的言谈举止是否得体,个性特点、行事风格是否合意,敬业精神与自信是否具备。同时,有经验的面试官会从中窥出面试者的表达能力、学习能力、理解能力、沟通能力和团队合作精神等。
攻略四:肢体语言,成功的变数
一颦一笑,一举手一投足,这就是你的肢体语言。肢体语言有什么妙用?在面试者给人的印象中,用词内容占7%,肢体语言占55%,剩下的38%来自语音语调。因此,在面试中,不妨谨记以下这些小细节——仔细聆听、面带微笑、措辞严谨、回答简洁明了、精神风貌乐观积极,这些丰富的肢体语言和恰当的语音语调,势必会使你的面试锦上添花、事半功倍!
攻略五:面试也要讲诚信
很多求职者为了能得到工作机会,在面试中采取撒谎策略。徐女士提醒大家,成败在细节,有经验的HR会很快区分出谎话与真话。因此,千万不要在面试时说谎,这样一定没有机会。此外,在进行任何一次面试后,都要仔细进行总结成败之处,看看哪些问题容易被问倒,这样,在下一次的面试中就可以避免“在同一条阴沟里翻船”了。
焦点问题攻略
焦点之一:
大学生面试屡屡失败,怎么办?
解惑:
首先,大学生们需要调整好心态,因为任何人都会经历从“学生族”到“职业族”这一过程,而学生不管是从经验上还是处理事情的能力上,确实和有工作经验的人存在着一定的差距。面试官为了找到最合适的人,面试时可能会让求职者觉得比较苛刻。因此,求职者要学会在面试中发现自己的长处和不足,找到自己的能力优势和公司需要之间的契合点。
第二,企业在招聘职场新人时,更看重的是面试者的综合素质和潜在能力。作为应届毕业生,面试前要整合自己的优势资源,分析自己的强弱项。此外,事先要多多了解应聘公司的企业文化和应聘职位的职责要求,只有充分准备、知己知彼,才能在面试中脱颖而出!
第三,要反思就业目标的选择是否适合自己,以便及时做出调整。
建议:对于即将毕业的毕业生来说,面试时尽量放轻松,把你最好的一面展现出来。同时,面试也是积累的过程,应该对自己有信心,在面试中体现你的沟通能力、领导能力、团队合作精神,在面试中想一鸣惊人表现自己,有时候反而适得其反。从职业生涯的发展规划来看,大学生需要尽快给自己定位,通过专业的测评工具,了解自己的个性特点和职业气质能力倾向,评估自己的优势和弱项,并结合自己的兴趣和专业背景,寻找人职匹配的工作。
焦点之二:
职场老马,面试为何还屡战屡败?
解惑:
徐女士认为,对于有丰富经验的求职者,如果在简历上被选中的几率还不算太低的话,主要的问题可能出在面试技巧上。有可能没有做好针对性强的面试,或者倾听和回答问题的能力还有待提高,抑或是由于不了解面试的结构、意图和过程而造成紧张的心情有关。注意,由于准备不充分,在面试过程中太想发挥表现自己,结果却适得其反,导致了面试失利。
建议:参加一些面试技巧的培训,在面试前事先模拟面试场景,习惯成自然后,面试时便会充满自信,并游刃有余。此外,过多的选择机会往往会分散求职者的精力,请大家尽快定位,找准职业目标,并集中精力应对。同时,不要被面试时的感觉所
J2EE开发常用开源项目介绍
主要就我所了解的J2EE开发的框架或开源项目做个介绍,可以根据需求选用适当的开源组件进行开发.主要还是以Spring为核心,也总结了一些以前web开发常用的开源工具和开源类库
1持久层:
1)Hibernate
这个不用介绍了,用的很频繁,用的比较多的是映射,包括继承映射和父子表映射
对 于DAO在这里介绍个在它基础上开发的包bba96,目前最新版本是bba96 2.0它对Hibernate进行了封装, 查询功能包括执行hsql或者sql查询/更新的方法,如果你要多层次逻辑的条件查询可以自己组装QueryObject.可以参考它做 HibernateDAO.也可以直接利用它
2) iBATIS
另一个ORM工具,Apache的,没有Hibernate那么集成,自由度比较大
2:SpringMVC
原理说明和快速入门:
配置文件为:
Spring的配置文件默认为WEB-INF/xxxx-servelet.xm其中xxx为web.xml中org.springframework.web.servlet.DispatcherServlet的servlet-name。
Action分发:
Spring将按照配置文件定义的URL,Mapping到具体Controller类,再根据URL里的action= xxx或其他参数,利用反射调用Controller里对应的Action方法。
输入数据绑定:
Spring提供Binder 通过名字的一一对应反射绑定Pojo,也可以直接从request.getParameter()取数据。
输入数据验证
Sping 提供了Validator接口当然还可以使用开源的Commons-Validaor支持最好
Interceptor(拦截器)
Spring的拦截器提供接口需要自己编写,在这点不如WebWork做的好.全面
(这里提一下WebWork和Struts的区别最主要的区别在于WebWork在建立一个Action时是新New一个对象而Struts是SingleMoule所有的都继承它的一个Action,所以根据项目需要合适的选择.)
求职面试自我介绍一分钟
一段短短的自我介绍,其实是为了揭开更深入的面谈而设的。
一分钟的自我介绍,犹如商品广告,在短短60秒内,针对“客户”的需要,将自己最美好的一面,毫无保留地表现出来,不但要令对方留下深刻的印象,还要即时引发起“购买欲”。
自我认识想一矢中的,首先必须知道你能带给公司什么好处。当然不能空口讲白话,必须有事实加以证明。
最理想就是能够“展示”过去的成就。例如你曾为以往的公司设计网页,并得过奖项或赞扬。当然,这些例子都必须与现在公司的业务性质有关。
职位愈高,自我认识就愈重要,应将个人的成败得失,尽录在日记中。这样,就可以时刻都清楚自己的弱点与强项。
投其所好清楚自己的强项后,便可以开始预备自我介绍的内容:包括工作模式、优点、技能,突出成就、专业知识、学术背景等。
好处众多,但只有短短一分钟,所以一切还是与该公司有关的好。如果是一间电脑软件公司,应说些电脑软件的话题;如是一间金融财务公司,便可跟他说钱的事,总之投其所好。
但有一点必须紧记:话题所到之处,必须突出自己对该公司做出的贡献,如增加营业额、减低成本、发掘新市场等。
铺排次序内容的次序亦极重要,是否能紧握听众的注意力,全在于事件的编排方式。所以排在头位的,应是你最想他记得的事情。而这些事情,一般都是你最得意之作。与此同时,可呈上一些有关的作品或记录增加印象分。
身体语言不管内容如何精彩绝伦,若没有美丽的包装,还是不成的。所以在自我介绍当中,必须留意自己在各方面的表现,尤其是声线。切忌以背诵朗读的口吻介绍自己。最好事前找些朋友作练习对象,尽量令声线听来流畅自然,充满自信。
身体语言也是重要的一环,尤其是眼神接触。这不但令听众专心,也可表现自信。
曾有一项报告指出,日常的沟通,非语言性的占了70%.所以,若想面试成功,便应紧记注意一下你的身体语言。
面试问题及回答技巧大公开
1、我们为什么要聘用你
(测试你的沉静与自信。)给一个简短、有礼貌的回答:“我能做好我要做的事情、”我相信自己,我想得到这份工作。
2、为什么你想到这里来工作
(这应该是你喜爱的题目。)因为你在此前进行了大量的准备,你了解这家公司。组织几个原因,最好是简短而切合实际的。
3、这个职位最吸引你的是什么
(这是一个表现你对这个公司、这份工作看法的机会。)回答应使考官确认你具备他要求的素质。
4、你是否喜欢你老板的职位
回答当然是“YES,如你不满意,可补充:”当我有这个评测能力时,或“有这样一个空缺时吧。
5、你是否愿意去公司派你去的那个地方
如果你回答“NO,你可能会因此而失掉这份工作,记住:你被雇用后你可以和公司就这个问题再行谈判。
6、谁曾经给你最大的影响
选一个名字即可,最好是你过去的老师等,再简短准备几句说明为什么。
7、你将在这家公司呆多久
回答这样的问题,你该持有一种明确的态度,即:能待多久待多久,尽可能长,“我在这里继续学习和完善自己。
8、什么是你最大的成就
准备一两个成功的小故事。
9、你能提供一些参考证明吗
你该准备好一些相关的整洁的打印件,并有现在的电话和地址。
10、从现在开始算,未来的五年,你想自己成为什么样子?或者:告诉我,你事业的目标
回答一定要得体,根据你的能力和经历。
11、你有和这份工作相关的训练或品质吗
说明要短,举两三个最重要的品质,要有事实依据。
12、导致你成功的因素是什么
回答要短,让考官自己去探究,比如只一句话:“我喜欢挑战性工作。
13、你最低的薪金要求是多少
(这是必不可少的问题,因为你和你的考官出于不同考虑都十分关心它。)你聪明的做法是:不做正面回答。强调你最感兴趣的是这个机遇和挑战并存的工作,避免讨论经济上的报酬,直到你被雇用为止。
14、你还有什么问题吗
你必须回答“当然。你要准备通过你的发问,了解更多关于这家公司、这次面试、这份工作的信息。
假如你笑笑说“没有(心里想着终于结束了,长长吐了口气),那才是犯了一个大错误。这往往被理解为你对该公司、对这份工作没有太深厚的兴趣;其次,从最实际的考虑出发,你难道不想听话听音敲打一下考官,推断一下自己入围有几成希望?
这里有一些供你选择的问题:1、为什么这个职位要公开招聘?2、这家公司(这个部门)最大的挑战是什么?3、公司的长远目标和战略计划您能否用一两句话简要为我介绍一下?4、您考虑这个职位上供职的人应有什么素质?5、决定雇用的时间大致期限要多久?6、关于我的资格与能力问题,您还有什么要问的吗?
求职面试必考题大公开
以下归纳常见的面试必考题,前往面试前别忘了事先仿真自己的答案或请亲朋好友赶快给你建议哟!
为什么选择来本公司应征?
这是所有应征者必先遇到的问题,以积极、正面的答案回答,除说明公司的待遇、福利等条件吸引人之外,可进一步说明此工作可活用自己的专长。
为什么辞去前一份工作?
此时如果一味批评以前的工作,便很难被录用。而应说明是为了“实现自我”之类了话语。此外,无工作经验者则可对应征公司的性质,表现出兴趣作答。
过去的工作经历如何?
社会新鲜人可尽量提出所有打工或兼职的经验,甚至曾义务帮助过学校,其它团体或亲朋好友的工作经验皆可补充,最好能具体说明
用正则表达式判断一个简单的用户登陆的例子
<%@ page contentType=”text/html;charset=gb2312″%>
<% //接受表单提交的字符串,
/*
数据只能为a-z,A-Z,0-9的字符的正则表达式的例子.
正则表达式在做程序登陆的过程非常重要。不然用′ or ′ 等语句就可以很容易绕过您的程度判断;
作者:高颂 QQ:932246 一个简单的例子但是很有用,希望起到抛砖引玉的作用。
*/
String temp =”我是非法的字符”;
String name = request.getParameter(”name”); //应收金额
String pass = request.getParameter(”pass”);
if (name==null){
name=temp;
}
if (pass==null){
pass=temp;
}
%>
<%!private boolean regex(String str){
java.util.regex.Pattern p=null; //正则表达式
java.util.regex.Matcher m=null; //操作的字符串
boolean value=true;
try{
p = java.util.regex.Pattern.compile(”[^0-9A-Za-z]“);
m = p.matcher(str);
if(m.find()) {
value=false;
}
}catch(Exception e){}
return value;
}
%>
<html>
<title>信息输入表单</title>
<body>
<form action = “bd.jsp” method = “get” >
<div align=”center”><font color=”#FF0000″>数据只能为a-z,A-Z,0-9的字符的正则表达式的例子</font>
<table border = “1″>
<tr>
<td bgcolor = “yellow”>用户</td>
<td><input name = “name” type = “text” id=”name”></td>
</tr>
<tr>
<td width=”293″ bgcolor = “yellow”>密码</td>
<td width=”240″> <input name = “pass” type = “text” id=”input”></td>
</tr>
<tr>
<td colspan = “2″ align = “center”><input name=”submit” type = “submit” value = “确定”>
<input name=”reset” type = “reset” value = “取消”>
</td>
</tr>
<tr>
<td colspan = “2″ align = “center”>消息提示
<%
//判断:
if(!regex(name)){
out.print(”用户名只能是a-z,A-Z,0-9的字符”);
return;//跳出程序只行
}
out.print(”恭喜您的数据录入合法了。<br>”+”您录入的名字是:”+name+”<br>您录入的密码是:”+pass);
%>
</td>
</tr>
</table>
</div>
</form>
</body>
</html>

