seo面试题10道经典面试题带答案.docx
《seo面试题10道经典面试题带答案.docx》由会员分享,可在线阅读,更多相关《seo面试题10道经典面试题带答案.docx(51页珍藏版)》请在冰点文库上搜索。
seo面试题10道经典面试题带答案
1、谈谈你对SEO概念的理解?
(回答参考:
seo即搜索引擎优化的简称,通过总结搜索引擎的排名规律,对网站进行合理优化,使你的网站在XX和Google的排名提高,让搜索引擎给你带来客户。
)
2、网站设计时应考虑哪些因素,以保证网站是对SEO友好?
(回答参考:
这个首先就要从网站结构上来做,主要是从这几个方面:
采用树型结构物理结构、逻辑结构,符合W3C标准的代码,源代码精简,用div+css代码,避免使用框架,使用静态url等便于搜索引擎抓取,首页要有更新带动机制,即新闻列表。
)
3、关键词选取时应注意那些因素?
(回答参考:
一般会采用google的关键词工具,查看关键字的XX指数,结合市场分析,对手网站数据分析,从而选取出合适的关键词。
)
4、请列出页面上影响网站排名的因素,以及每个因素在优化时的注意点?
(回答参考:
这个因素就比较多了,几点主要的是:
①页面的title、keyword、description、h1标签的优化;②内容的原创性;③JS代码要封装,图片要加上alt标签,flash要少用等)
5、影响网站PR的因素有哪些?
如何使pr较有效的传递到网站内部页面?
(回答参考:
pr值是通过给予外链的个数和质量来计算的,PR有效的传导,就要要求你网站的结构良好。
可以通过你站的任意一个链接,可以到达所有的链接,也就是网站的扁平化处理。
结构不要太深,3层左右为好,别超过5层。
)
6、如何增加网站外链,以及增加外链时的注意点?
(回答参考:
可以把网站提交到网址大全,各大搜索引擎、目录网站等;其次可以自己开设博客,论坛群发布软文,外链的锚文本跟你的网页内容相关,或外链所在的网站内容相关;其三很重要的是交换友情链接;需要注意是的要把握好外链的数量,不能一次性增加太多,不然会被搜索引擎惩罚,需要循序渐进。
)
7、我要你把一个站的关键词排名排到首页,你会做哪些工作?
(回答参考:
首页考虑到的是关键字的布局,首页及频道页关键字的布局;其次则是内容和外链的建设,内容把握好内链的建设,文章中锚文本的布局;外链则是把握好数量和质量)
8、让一个网站从一个新站到访问量5000ip,你需要多久?
(回答参考:
这个问题并不是为了问具体需要多长时间,重点是需要知道方法。
5000ip如果是2个编辑的话,并且做的是妇科网站的话,需要1年的时间才能达到;方法就是通过seo手段将网站主要关键词排名上来,各个长尾关键字排名上来,是可以达到5000ip的。
)
9、对dedecms或phpcms熟悉吗?
有没有操作这样的后台程序?
(回答参考:
我们网站大都用的是dedecms或phpcms框架,如果对这2个程序比较了解是最好的,如果没用过或没操作过也没关系的,培训一下就可以了。
)
10、作为seo,站内关键词的密度如何改善,而不会让编辑的负担加重?
(回答参考:
这个问题比较有难度,站内关键词的密度可以在设计网站的时候就考虑到,将一些带有关键词的标签分布到内页模板中的各个位置,当添加文章后,通过生成后,让关键词的密度自然得达到2%以上,这样编辑添加文章时,不用特意去考虑关键词的密度就可以达到3%左右的关键词密度。
)
本文摘自:
第1章课后练习
●选择题
1.以下何者适合使用GET请求来发送?
(A)使用者名称、密码
(B)检视论譠页面
(C)信用卡资料
(D)查询数据的分页
答案:
B、D
提示:
敏感性数据不应使用GET来发送。
论譠页面、数据分页可以使用GET,便于使用者设定为书签。
2.以下何者应该使用POST请求来发送?
(A)使用者名称、密码
(B)档案上传
(C)搜寻引擎的结果画面
(D)BLOG文件
答案:
A、B、D
提示:
敏感性数据、大量数据不应使用GET来发送。
搜寻引擎结果画面可以使用GET,便于使用者设定为书签。
3.HTTP哪个请求方式,请求参数会出现在网址列上?
(A)GET
(B)POST
答:
A
4.以下何者适合使用GET请求来发送?
(A)检视静态页面
(B)查询商品数据
(C)新增商品资料
(D)删除商品数据
答案:
A、B
提示:
这题在考等幂操作,不改变服务器状态的查询应使用GET。
5.以下何者应该使用POST请求来发送?
(A)查询商品数据
(B)新增商品资料
(C)更新商品数据
(D)删除商品数据
答案:
B、C、D
提示:
这题在考非等幂操作,会改变服务器状态的查询应使用POST。
6.以下何者是属于客户端执行的程序?
(A)JSP
(B)JavaScript
(C)Servlet
(D)Applet
答案:
B、D
7.Servlet/JSP主要是属于哪个Java平台的规范之中?
(A)JavaSE
(B)JavaME
(C)JavaEE
答:
C
8.Servlet/JSP必须基于哪一类型的容器才能提供服务?
(A)Applet容器
(B)应用程序客户端容器
(C)Web容器
(D)EJB容器
答:
C
9.Web容器在收到浏览器请求时,会如何处理请求?
(A)使用单一执行绪处理所有请求
(B)一个请求就建立一个执行绪来处理请求
(C)一个请求就建立一个行程来处理请求
(D)一个请求就执行一个容器来处理请求
答:
B
10.JavaEE中各技术标准最后将由什么文件明订规范?
(A)JCP
(B)JSR
(C)JDK
答:
B
提示:
JCP是组织名称。
JDK是Java开发工具箱名称。
第2章课后练习
●选择题
1.若要针对HTTP请求撰写Servlet类别,以下何者是正确的作法?
(A)实作Servlet界面
(B)继承GenericServlet
(C)继承HttpServlet
(D)直接定义一个结尾名称为Servlet的类别
答案:
C
2.续上题,如何针对HTTP的GET请求进行处理与响应?
(A)重新定义service()方法
(B)重新定义doGet()方法
(C)定义一个方法名称为doService()
(D)定义一个方法名称为get()
答案:
B
提示:
不建议也不应重新定义HttpServlet所继承下来的service()方法。
3.HttpServlet是定义在哪个套件之中?
(A)
(B)
(C)
(D)
答案:
B
提示:
与Servlet定义相关的类别或接口都位于套件之中,像是Servlet、GenericServlet、ServletRequest、ServletResponse等。
与HTTP定义相关的类别或接口都位于套件之中,像是HttpServlet、HttpServletRequest、HttpServletResponse等。
4.你在中定义了以下的内容:
Goodbye
cc.openhome.LogutServlet
GoodBye
/goodbye
哪个URL可以正确的要求Servlet进行请求处理?
(A)/GoodBye
(B)
(C)/LoguotServlet
(D)/goodbye
答案:
D
5.在Web容器中,以下哪两个类别的实例分别代表HTTP请求与响应对象?
(A)HttpRequest
(B)HttpServletRequest
(C)HttpServletResponse
(D)HttpPrintWriter
答案:
B、C
6.在Web应用程序中,何者负责将HTTP请求转换为HttpServletRequest物件?
(A)Servlet物件
(B)HTTP服务器
(C)Web容器
(D)JSP网页
答案:
C
7.在Web应用程序的档案与目录结构中,是直接放置在哪个目录之中?
(A)WEB-INF目录
(B)conf目录
(C)lib目录
(D)classes目录
答案:
A
8.你在中定义了以下的内容:
HelloServlet
cc.openhome.HelloServlet
HelloServlet
/hello
这个中的定义有哪些错误?
(A)标签中的设定一定要用.do作结尾
(B)标签应改为,结尾标签名称也要修改
(C)标签应改为,结尾标签名称也要修改
(D)标签应改为,结尾标签名称也要修改
答案:
B、C
提示:
可以无需.do结尾,也可以用万用字符(wildcard),例如*.do将会让所有以.do结尾的请求由该Servlet进行处理。
9.在MVC架构中,谁负责通知应用程序客户端,应用程序本身有状态改变?
(A)模型(Model)
(B)视图(View)
(C)控制器(Controller)
答案:
A
10.MVC与Model2架构最大的差别在于?
(A)Model2架构的视图是由HTML组成
(B)Model2架构中的模型无法通知视图状态已更新
(C)MVC架构是基于请求/响应模型
(D)MVC架构只能用于单机应用程序
答案:
B
提示:
Model2架构中呈现视图的技术并没有限制。
MVC架构也可以应用于3-tier的网络架构中,其中模型通知视图时,可以透过Socket联机来进行。
●实作题
1.讲师提示:
这个练习在让学生动手实作HttpServlet的继承、的定义,并能够自行查询在线API文件,了解HttpServletRequest有哪些方法可以利用。
2.提示:
这个练习在让学生动作撰写窗体(学生必须自行学习基本的HTML),了解GET与POST如何在Servlet中进行处理,学生必须重新定义doPost()方法,并了解如何在Servlet中撰写判断分支来呈现不同条件下的结果画面。
第3章课后练习
课后练习
●选择题
1.以下的空格应该填入哪个方法?
response.setContentType("text/html;charset=UTF-8");
PrintWriterout=response.____________;
out.println("");
...
(A)getPrintWriter()
(B)getWriter()
(C)getBufferedWriter()
(D)getOutputWriter()
答案:
B
2.请问以下的Servlet程序片段输出结果为何?
out.println("第一个Servlet程序");
out.flush();
request.getRequestDispatcher("message.jsp")
.forward(request,response);
out.println("Hello!
World!
");
(A)显示"第一个Servlet程序"后转发
(B)显示"第一个Servlet程序"与"Hello!
World!
"
(C)直接转发给进行响应
(D)丢出IllegalStateException
答案:
A
提示:
在flush()之后响应已确认,此时再forward()就会发生IllegalStateException。
3.你将档案放在WEB-INF目录中,哪个方式或程序片段可以正确让进行响应?
(A)使用浏览器请求
(B)request.getRequestDispatcher("/WEB-INF/secret.jsp")并进行forward()
(C)使用response.sendRedirect("/WEB-INF/secret.jsp")
(D)使用response.sendError("/WEB-INF/secret.jsp")
答案:
B
4.如果想知道使用者所使用的浏览器版本等相关讯息,可以执行哪一段程序代码:
(A)request.getHeaderParameter("User-Agent")
(B)request.getParameter("User-Agent")
(C)request.getHeader("User-Agent")
(D)request.getRequestHeader("User-Agent")
答案:
C
5.如果想取得输出串流对象对浏览器输出位数据,应该撰写哪一段程序代码?
(A)ResponseStreamout=response.getResponseStream();
(B)ResponseStreamout=response.getStream();
(C)ResponseStreamout=response.getOutputStream();
(D)ServletOutputStreamout=response.getOutputStream();
答案:
D
6.哪几个程序代码可以取得password请求参数的值?
(A)request.getParameter("password");
(B)request.getParameters("password")[0];
(C)request.getParameterValues("password")[0];
(D)request.getRequestParameter("password");
答案:
A、C
提示:
getParameterValues()会用字符串数组传回指定的请求参数值,如果请求参数只有一个值,则透过指定索引值0也可取得该值。
7.下面这个程序代码片段会输出什么结果?
PrintWriterwriter=response.getWriter();
writer.println("第一个Servlet程序");
OutputStreamstream=response.getOutputStream();
stream.println("第一个Servlet程序".getBytes());
(A)浏览器会看到两段"第一个Servlet程序"的文字
(B)浏览器会看到一段"第一个Servlet程序"的文字
(C)丢出IllegalStateException
(D)由于没有正确地设定内容类型(content-type),浏览器会提示另存新档
答案:
C
提示:
同一个请求周期中,HttpServletResponse的getWriter()与getOutputStream()只能择一使用,否则会丢出IllegalStateException。
8.如果要设置响应的内容类型标头,哪几个选项是正确的作法?
(A)response.setHeader("Content-Type","text/html");
(B)response.setContentType("text/html");
(C)response.addHeader("Content-Type","text/html");
(D)ContentHeader("text/html");
答案:
A、B、C
9.下面哪个选项,可以正确地追加自订标头"MyHead"的值?
(A)response.setHeader("MyHeader","Value2");
(B)response.appendHeader("MyHeader","Value2");
(C)response.addHeader("MyHeader","Value2");
(D)response.insertHeader("MyHeader","Value2");
答案:
C
10.哪几个方法是定义在HttpServletRequest中,而非由ServletRequet中继承而来?
(A)getMethod()
(B)getHeader()
(C)getParameter()
(D)getCookies()
答案:
A、B、C
提示:
与HTTP请求有关的方法,是定义在HttpServletRequest中,与通用请求有关的,是定义在ServletRequest中,例如getParameter()。
●实作题:
1.请实作一个Web应用程序,可以将使用者所发送的name请求参数值画在一张图片上(参考下图,底图可任选)。
提示:
可在搜寻引擎下关键词「动态产生图片」寻找解答。
参考,画图的部份不难,主要让学生练习如何取得请求参数、如何使用ServletOutputStream以及利用搜寻引擎寻找解答的能力。
图3.20根据使用者输入动态产生图片内容
2.请实作一个Web应用程序,可动态产生使用者登入密码(参考下图,仅需先确作出动态产生密码图片的功能即可,送出窗体后的密码验证功能还不用实现)。
提示:
主要是上一题练习的延伸,随机产生四个数字,再画到图片上。
这个练习可结合Session属性的运用,就可实作出登入的部份,在第5章讲到Session对象时会再要求实作登入的机制。
图3.21动态产生登入密码
第4章课后练习
课后练习
●选择题
1.如果是整个应用程序会共享的数据,则适合存放在哪个对象之中成为属性?
(A)ServletConfig
(B)ServletContext
(C)ServletRequest
(D)Session
答案:
B
2.如果要取得ServletContext初始参数,则可以执行哪个方法?
(A)getContextParameter()
(B)getParameter()
(C)getInitParameter()
(D)getAttribute()
答案:
C
3.假设一段程序代码如下,其中PARAM为设定于中的初始参数:
publicclassSomeServletextendsHttpServlet{
privateStringparam;
publicSomeServlet(){
param=getInitParameter("PARAM");
}
…
}
以下何者正确?
(A)param被设定为中的初始参数值
(B)无法通过编译
(C)应该改用getServletParameter()方法
(D)发生NullPointerException
答案:
D
提示:
getInitParameter()也是透过ServletConfig来取得初始参数,在建构式执行时,由于尚未进行Servlet初始化,ServletConfig尚未经由init()方法传入Servlet之中,所以建构式中尝试取得初始参数时就会发生NullPointerException。
4.继承HttpServlet之后,若要进行Servlet初始化,重新定义哪个方法才是正确的作法?
(A)publicvoidinit(ServletConfigconfig)throwsServletException;
(B)publicvoidinit()throwsServletException
(C)publicStringgetInitParameter(String name)
(D)publicEnumerationgetInitParameterNames()
答案:
B
5.关于ServletContext初始参数,以下哪两项是中正确的设定?
(A)
PARAM
VALUE
(B)
PARAM
VALUE
(C)
PARAM1
VALUE1
PARAM1
VALUE1
(D)
PARAM1
VALUE1
PARAM2
VALUE2
答案:
B、D
6.若要读取档案的数据,以下哪个是正确的作法?
(A)FileInputStreaminput=
newFileInputStream("/WEB-INF/data.txt");
(B)FileInputStreaminput=newFileInputStream(
newFile("/WEB-INF/data.txt"));
(C)InputStreaminput=
getResourceAsStream("/WEB-INF/data.txt");
(D)FileInputStreaminput=
getResourceAsStream("/WEB-INF/data.txt");
答案:
C
7.ServletContext定义与属性相关的方法是哪三个?
(A)getAttribute();
(B)setAttribute();
(C)deleteAttribute()
(D)removeAttribute();
答案:
A、B、D
8.若中有以下的设定:
Some
cc.openhome.SomeServlet
param1
1
param2
2
而某个Ser