京东2016实习生招聘 PHP开发工程师
1关于软件质量特性,指软件所实现的功能满足用户需求的程度的是(正确性)
2在MySql中,如果要修改表的列名,下列语句的语法正确的是(ALTER TABLE 表名字 CHANGE 列名字新列名字)
3不同系列的机器之间,实现软件移植途径不包括(用统一的汇编语言)
4有一语法制导翻译如下所示: S→bAb {print"1"} A→(B {print"2"} A→a {print"3"} B→Aa) {print"4"} 若输入序列为b(((aa)a)a)b,且采用自底向上的分析方法,则输出序列为( 34242421 )
解析:
null null b(((aa)a)a)b
null b (((aa)a)a)b
3 b(((A a)a)a)b A→a {print"3"}
4 b(((Aa) a)a)b B→Aa) {print"4"}
2 b(((B a)a)b A→(B {print"2"}
4 b((Aa) a)b B→Aa) {print"4"}
2 b((B a)b A→(B {print"2"}
4 b(Aa) b B→Aa) {print"4"}
2 b(B b A→(B {print"2"}
1 bAb null S→bAb {print"1"}
5windows系统口令配置文件是( c:windowssystem32configSAM )
解析:SAM文件即账号密码数据库文件。
当我们登录系统的时 候,系统会自动地和Config中的SAM自动校对,
如发现此次密码和用户名全与SAM文件中的加密数据符合时,
你就会顺利登录;如果错误则无法登录。
如果你不用管本来系统卡包含的任意账号,而且有两个操作系统的话,可以使用另外一个能访问NTFS的操作系统启动电脑,或者虽然没有安装两个系统,但可以使用其他工具来访问NTFS。然后删除C:\WINNT\system32\config目录下的SAM文件,重新启动。这时,管理员Administrator账号就没有密码了。当然,取下硬盘换到其他机器上来删除SAM文件也算个好办法。
小提示:WindowsNT/2000/XP中对用户账户的安全管理使用了安全账号管理器(Security
AccountManager,SAM)的机制,安全账号管理器对账号的管理是通过安全标识进行的,安全标识在账号创建时就同时创建,一旦账号被删除,安全标识也同时被删除。安全标识是惟一的,即使是相同的用户名,在每次创建时获得的安全标识都是完全不同的。因此,一旦某个账号被删除,它的安全标识就不再存在了,即使用相同的用户名重建账号,也会被赋予不同的安全标识,不会保留原未的权限。
安全账号管理器的具体表现就是%SystemRoot%\system32\config\sam文件。SAM文件是WindowsNT/2000/XP的用户账户数据库,所有用户的登录名及口令等相关信息部会保存在这个文件中。
小提示:MBR俗称主引导区,它的作用是读取磁盘分区表(Partition
Table)里面所设定的活动分区 (Active
Partition),位于硬盘的柱面0、磁头0、扇区1的位置,也即俗你的0磁道位置。它是由分区命令fdisk产生的。MBR包括硬盘引导程序和分区表这两部分。MBR结束标志为55AA,用杀毒软件KV3000的F6功能即可查看,其默认画面即为MBR。如果MBR找不到活动分区,就会在屏幕上显示像Missing
operating
System等错误讯息,所以,如果你的WindowsXP无法正常开启。而你又在屏幕上看到类似这样的错误讯息,原因大多就是出在这里了。
7在一个长度为n的带头结点的单链表h上,另设有尾指针r(指向尾结点),在单链表最后一个元素之后插入一个新元素p,执行的操作( r->next=p;p->next=NULL; r=p; )
8后缀算式5 3 2+ * 8 2/ -的值为( 21 )
后缀表达式
不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序,严格从左向右进行(不再考虑运算符的优先规则,如:(2 + 1) * 3 , 即2 1 + 3 *
这里我给出一个中缀表达式:a+b*c-(d+e)
第一步:按照运算符的优先级对所有的运算单位加括号:式子变成了:((a+(b*c))-(d+e))
第二步:转换前缀与后缀表达式
前缀:把运算符号移动到对应的括号前面
则变成了:-( +(a *(bc)) +(de))
把括号去掉:-+a*bc+de 前缀式子出现
后缀:把运算符号移动到对应的括号后面
则变成了:((a(bc)* )+ (de)+ )-
把括号去掉:abc*+de+- 后缀式子出现
9在分块查找中,若索引表各块内均用顺序查找,则有324个元素线性表若分成9块,其平均查找长度为( )
若以顺序查找方式来确定元素所在的块,则平均查找长度为:(b+1)/2+(s+1)/2
其中b代表索引表的长度(即总块数)
s代表块内所含元素的个数
所以:(9+1)/2+(324/9+1)/2=23.5
10
有一个有序表为{1,5,8,11,19,22,31,35,40,45,48,49,50},当二分查找值为48的结点时, 查找成功需要比较的次数( 4 )
一共13个数,将其分别标号为1~13:
low和high分别指向待查元素所在范围的下界和上界,mid指向区间的中间位置,
第一次比较:low=1,high=13,mid=7,31<48,未找到
第二次比较:low=mid+1=8,high=13,mid=10,45<48,未找到
第三次比较:low=mid+1=11,high=13,mid=12,49>48,未找到
第四次比较:low=11,high=mid-1=11,mid=11,48=48.找到,结束。
13
分析下面的HTML代码段,该页面在浏览器中的显示效果为( 从右向左滚动显示“Welcome!” )
<HTML> <body> <marquee scrolldelay="300" direction="left">Welcome!</marquee> </body> </HTML>
14在HTML5中,sessionStorage保存数据的方法正确的是( sessionStorage.setItem("键名","键值"); )
setItem存储value
用途:将value存储到key字段
用法:.setItem( key, value)
代码示例:
sessionStorage.setItem("key", "value"); localStorage.setItem("site", "js8.in");
getItem获取value
用途:获取指定key本地存储的值
用法:.getItem(key)
代码示例:
var value = sessionStorage.getItem("key"); var site = localStorage.getItem("site");
removeItem删除key
用途:删除指定key本地存储的值
用法:.removeItem(key)
代码示例:
sessionStorage.removeItem("key"); localStorage.removeItem("site");
clear清除所有的key/value
用途:清除所有的key/value
用法:.clear()
代码示例:
sessionStorage.clear(); localStorage.clear();
15
若表单提交时采用的是Get方法,则服务器端要获得表单所提交的数据,应采用:(Request.QueryString(”表单域名”))
16
下面代码加入下面那个函数后返回TRUE:
return ? == 'A';
(chr(65))
17
执行下面的代码后,
<?php echo function_exists('print'); ?>
得到的输出是:(空)
返回false echo为空
18
如果没有为Cookie指定失效时间,则设置的Cookie将在何时失效?( 结束当前会话时 )
19
下面程序的运行结果为?( thizlinux )
<? $a=“thiz”; function change(&$a) { $a.=“linux”; } change($a); echo $a; ?>
20
语句for($k=0;$k=1;$k++);
和语句for($k=0;$k==1;$k++);
执行的次数分别是:(无限和0)
21
9个元素 ABCDEFGHI 被依次push入栈中,pop操作有可能在任何时候进行,那么以下那种出栈次序是不正确的( IHGFEABCD )
22
以下函数的时间复杂度是多少?( O(NlogN) )
int foo(int N) { int result =0; for(int i = 1; i <= N; ++i) for(int j = 1; j<= N; j += i) result += (i+j); return result; }
第一次是n个,第二次由于每次加2,所以是n/2次,第三次由于每个加3是n/3....
抽出n
变成n(1+1/2+1/3+....)
根据欧拉公式
1+1/2+1/3+...=ln n
所以就是n ln n
也就是nlogn
23
当x=2015时,以下函数的返回值是多少?( 10 )
int func(x) { int count = 0; while(x) { count++; x = x&(x-1); } return count; }
2015是11111011111
其中共有10个1
这个过程可以看做是把1变为0的过程,每次都有一个1变成0,共有10个1,所以需要十次x将变为0
所以此时conut为10
24
当我们在局域网内使用 ping www.jd.com 时,那种协议没有被使用?( TCP )
1、因为ping的话 后面跟的是地址,所以要先将域名转换为ip地址,即用到了DNS
2、获取到ip地址后,在数据链路层是根据MAC地址传输的,所以要用到ARP解析服务,获取到MAC地址
3、ping功能是测试另一台主机是否可达,程序发送一份ICMP回显请求给目标主机,并等待返回ICMP回显应答,(ICMP主要是用于ip主机、路由器之间传递控制信息,控制信息是指网络通不通,主机是否科大)
4、TCP的话,不涉及数据传输,不会用到
25
有5个人ABCDE排队,排好后他们决定重新排队,每个人都不在原来的位置上,那么总共有多少种排法?( 44 )
n个人每个人都不站在原来的位置的方法数有:
f(n)=n!(1/2!-1/3!+1/4!+..+(-1)^n/n!)
此公式的推导过程要用到筛法公式,而且推导过程很复杂,除了竞赛高考肯定不会出现,对于n不大于4时可采用枚举法.一般只需记住n不大于5的情况即可
f(2)=1,f(3)=2,f(4)=9,f(5)=44