技术面试题目及答案Word格式.docx
《技术面试题目及答案Word格式.docx》由会员分享,可在线阅读,更多相关《技术面试题目及答案Word格式.docx(19页珍藏版)》请在冰豆网上搜索。
2、两种跳转方式分别是什么?
有什么区别?
有两种,分别为:
<
jsp:
includepage="
included.jsp"
flush="
true"
>
forwardpage="
nextpage.jsp”>
3、搜索引擎如何抓取网页和如何索引网页
4、简述列举文档对象模型DOM里document的常用的查找访问节点的方法
5、在IE中,HTML对象的ID可以作为document的下属对象变量名直接使用,在FF中不能,此兼容性问题如何解决?
6、引入样式表的方式有几种?
7、JavaScript是一门基于解释性的语言,它和java语言的区别?
8、JS中的三种弹出式消息提醒(警告窗口、确认窗口、信息输入窗口)的命令是什么?
游戏美术类:
考查对于PS,3DsMax(或MAYA),AE等软件的熟悉程度
答案:
编程题:
1考察数据结构的知识点,这里可使用筛选法,该方法是大部分数据结构书籍都有讲解的
算法,当然还有时间复杂度更低的算法(空间复杂度),但是因为求值范围为1-100,故综合来看,筛选法的效率是最高的。
intmain()
{
int*sieve;
intn;
intiCounter=2,iMax,i;
printf(“Pleaseinputmaxnumber:
”);
scanf(“%d”,&
n);
sieve=(int*)malloc((n-1)*sizeof(int));
for(i=0;
i<
n-1;
i++)
sieve[i]=i+2;
iMax=(int)sqrt(n);
while(iCounter<
=iMax){
for(i=2*iCounter-2;
i<
i+=iCounter)sieve[i]=0;
iCounter++;
}for(i=0;
i++)
if(sieve[i]!
=0)printf(“%d”,sieve[i]);
return0;
}
2、考察数据结构的知识点,求公约数的算法很多,可考虑效率较高的欧几里德递归算法,intgcd(intm,intn){
inttemp=0;
if(m<
n){temp=m;
m=n;
n=temp;
if(n==0)returnm;
else
returngcd1(n,m%n);
3、考察C++容器的知识,这里考察的MAPintmain()
stringstr;
map<
string,int>
content;
for(intcnt=0;
cnt<
10;
cnt++){cin>
str;
(content.insert(make_pair(str,0)).first)->
second++;
:
iteratorit=content.begin();
for(;
it!
=content.end();
++it)
cout<
it->
first<
”:
”<
second<
endl;
4、考察数据结构,文件目录是一个树
5、考察基础编程能力
#include<
iostream>
usingnamespacestd;
template<
classT>
voidSwap(T*a,T*b)
Ttemp;
temp=*a;
*a=*b;
*b=temp;
/****************************************简单排序算法begin****************************************/
/*
*简单选择排序
*A:
以数组存放的无数数
*n:
数组A中从位置0到n排序(从小到大)
*/
voidSelectSort(TA[],intn)
intsmall;
for(inti=0;
i<
n-1;
i++){//执行n-1趟
small=i;
//先假定待排序序列中第一个元
素最小
for(intj=i+1;
j<
n;
j++){
//
每趟扫描待排序序列n-i-1次
if(A[j]<
A[small]){
//如果扫描到一个比最小值元素还小的,
则记下其下标
small=j;
Swap(&
A[i],&
A[small]);
//最小元素与待排序序列中第一个
元素交换
voidInsertSort(TA[],intn)
for(inti=1;
i++){//执行n-1趟
intj=i;
Ttemp=A[i];
//待插入元素存入临时变量
while(j>
0&
&
temp<
A[j-1]){
从后往前查找插入位置
A[j]=A[j-1];
//A[j-1]元素后移
j--;
//j指针前移
A[j]=temp;
//待插入元素存入找到的插入位
置
*冒泡排序
voidBubbleSort(TA[],intn)
inti,j,last;
i=n-1;
while(i>
0){//最多进行n-1躺
last=0;
//将last赋值为0
for(j=0;
i;
j++){//从前往后进行相邻元素的两两比较
if(A[j+1]<
A[j]){
A[j],&
A[j+1]);
//后者小,则交换
last=j;
//有交换,last置为j
i=last;
//如果一趟没有元素交换,则last
为0
/****************************************简单排序算法end****************************************/
/****************************************快速排序begin****************************************/
*快速排序
*left和right:
A[left]和A[right]之间的元素排序
voidQuickSort(TA[],intleft,intright)
inti,j;
if(left<
right){//若待排序序列多于一个元素,则继续快速排序
i=left;
//游动指针i,j
j=right+1;
A[left],&
A[(left+right)/2]);
//避免最坏境况发生
do{//开始一趟快速排序,A[left]做
为分割元素
doi++;
while(A[i]<
A[left]);
//i指针从左往右找第一个大于等于分割
元素的元素
doj--;
while(A[j]>
//j指针从右往左找第一个小于等于分割
if(i<
j)Swap(&
A[j]);
//若i<
j,则交换两个元素
}while(i<
j);
j,则继续本趟排序
//交换分割元素A[left]和A[j]的位置
QuickSort(A,left,j-1);
//对低端序列快速排序
QuickSort(A,j+1,right);
//对高端序列快速排序
/****************************************快速排序end****************************************/
/*对上面的几种排序算法,进行简单的测试*/intmain(){
inta[5]={2,1,6,8,3};
//SelectSort(a,5);
//InsertSort(a,5);
//BubbleSort(a,5);
QuickSort(a,0,4);
for(inti=0;
5;
i++){
a[i]<
"
;
技术问答题:
包名:
全部小写
常量:
全部大写以下划线分词
局部变量:
定义在方法中的变量
(1)先赋值后使用
(2)从定义变量的代码块开始到代码块结束
(3)在同一范围内不允许两个局部变量发生命名冲突
3、简单点说,对于一个vector&
lt;
i