360公司-2018春招笔试-PHP开发工程师客观题合集

时长:120分钟 总分:92分

205浏览 1人已完成答题

题型介绍
题型 单选题 多选题
数量 94 14
1.
下列说法中正确的是(    &nb...
问题详情

下列说法中正确的是(      )




2.
关键字序列为{12,11,19,23,1,6,10},哈希函数为H(key...
问题详情

关键字序列为{12,11,19,23,1,6,10},哈希函数为H(key)=key MOD 11,用链地址法构造哈希表,哈希地址为1的链中有(      )个记录(      )




3.
下面关于动态规划说法正确的是
问题详情




4.
下列关于排序算法的描述错误的是
问题详情




5.
请指出以下代码段使用了何种算法public void ...
问题详情

请指出以下代码段使用了何种算法
public void func(int[] arr1, int k, int m,int[] arr2) {
arr2[0] = 0
for (int i = 1 i <= m i++) {
int min = i
for (int j = 0 j < k j++) {
if (arr1[j] <= i) {
int temp = arr2[i - arr1[j]] + 1
if (temp < min) {
min = temp
}
}
}
arr2[i] = min
}
}




6.
已知如下递归代码用于求解图的m着色问题:#define N&nb...
问题详情

已知如下递归代码用于求解图的m着色问题:
#define N 10
int a[N+1][N+1] //存储图
int x[N+1]//记录颜色
int sum=0//保存可着色方案数

void backtrace(int t,int m)
{
int i
if(t>N)//搜索至叶节点
{
sum++
printf("第%d种方案:\n",sum)
for(i=1i<=Ni++)
printf("%d ",x[i])
printf("\n")
}
else
{
for(i=1i<=mi++) //逐个判断每种颜色
{
if(check(t,i))
{   x[t]=i
backtrace(t+1,m)
}
}
}
}
其中check()函数用于检测某个节点颜色是否合法,以下check()函数正确的是:




7.
一个线性序列(30,14,40,63,22,5),假定采用散列函数Hash...
问题详情

一个线性序列(30,14,40,63,22,5),假定采用散列函数Hash(key)=key%7来计算散列地址,将其散列存储在A[0~6]中,采用链地址法解决冲突。若查找每个元素的概率相同,则查找成功的平均查找长度是(      )。




8.
下列程序段的时间复杂度是(    ...
问题详情

下列程序段的时间复杂度是(    )
count = 1;
for(k=1k<2nk*=2)
for(i=1i<4ni+=2)
count++




9.
递归公式 的时间复杂度为(   &...
问题详情

递归公式
775592ryx.jpg

的时间复杂度为(    )。




10.
有关贪心法叙述正确的是(    &...
问题详情

有关贪心法叙述正确的是(      )




11.
在选择分治法解决问题时,应考虑待解决问题应具有哪些特征( &nb...
问题详情

在选择分治法解决问题时,应考虑待解决问题应具有哪些特征(      )




12.
在有序表中,关于斐波那契查找和折半查找说法错误的是()
问题详情




13.
下面说法错误的是()
问题详情




14.
对于函数y = ax^2 + bx...
问题详情

对于函数y = ax^2 + bx + c,(a > 0),需要找出y的小值,精确到小数点后6位。下列选项中最有效的方法是()。




15.
设哈希表长m=13,哈希函数H(key)=key MOD&nbs...
问题详情

设哈希表长m=13,哈希函数H(key)=key MOD 11。表中已有4个节点:addr(16)=5,addr(28)=6,addr(84)=7,addr(19)=8其余地址为空,如用线性探测再散列处理冲突,则关键字为38的地址为(      )




16.
上述程序的输出为( )
问题详情

#include<bits/stdc++.h>
using namespace std
int main(){
stack<int>st
int pos = 1
while(pos <= 3){
st.push(pos++)
}
cout<<st.top()
while(pos <= 5){
st.push(pos++)
}
while(!st.empty()){
cout<<st.top()
st.pop()
}
return 0
}
上述程序的输出为(      )




17.
程序的输出为( )
问题详情

#include<bits/stdc++.h>
using namespace std
int gcd(int a, int b){
return b == 0 ? a : gcd(b, a % b)
}
struct stsort{
bool operator () (const int a, const int b) const{
if(gcd(30, a) < gcd(30, b)){
return 1
}
else if(gcd(30, a) == gcd(30, b)){
return a < b
}
else return 0
}
}
int main(){
int n = 5
priority_queue<int, vector<int>, stsort>q
for(int i = 1 i <= n ++i){
q.push(i)
}
for(int i = 1 i <= n ++i){
printf("%d", q.top())
q.pop()
}
return 0
}
程序的输出为( )




18.
程序的输出为( )
问题详情

#include<bits/stdc++.h>
using namespace std
int main(){
int n = 5
vector<int>a
set<int>b
for(int i = 1 i <= n ++i){
a.push_back(i)
b.insert(i)
}
for(int i = 1 i <= n ++i){
a.push_back(i)
b.insert(i)
}
cout<<a.size()<<b.size()<<endl
return 0
}
程序的输出为( )




19.
则输出为( )
问题详情

#include<bits/stdc++.h>
using namespace std
vector<int>g[10]
int ans = 0
void dfs(int x){
if(g[x].size() == 0){
ans++
return
}
for(int i = 0 i < g[x].size() ++i){
dfs(g[x][i])
}
}
int main(){
int n, x
scanf("%d", &n)
for(int i = 2 i <= n ++i){
scanf("%d", &x)
g[x].push_back(i)
}
dfs(1)
cout<<ans<<endl
return 0
}
上述程序的输入为:
9
1 2 2 1 5 6 6 6
则输出为( )




20.
用(a,b,c)表示节点a,b之间有一条权值为c的无向边。对于图(1,2,...
问题详情

用(a,b,c)表示节点a,b之间有一条权值为c的无向边。对于图(1,2,3),(1,3,4),(1,5,1),(2,3,4),(2,4,6),(2,5,2),(3,5,1)。最小生成树的权值和为(        )




21.
一棵二叉树有100个节点,若根节点深度为1,树深最大为( &nb...
问题详情

一棵二叉树有100个节点,若根节点深度为1,树深最大为(       ),最小为(       )




22.
在一棵度为5的树T中,若14个度为5的结点,15个度为4的结点,14个度为...
问题详情

在一棵度为5的树T中,若14个度为5的结点,15个度为4的结点,14个度为3的结点,5个度为2的结点,10个度为1的结点,则树T的叶节点个数是(     )




23.
程序的输出为( )
问题详情

#include<bits/stdc++.h>
using namespace std
int n = 300
int solve(int x){
return x * (n - x)
}
int main(){
int l = 1, r = n
int mid1, mid2
int t = 50
while(t--){
mid1 = l + r >> 1
mid2 = mid1 + r >> 1
if(solve(mid1) > solve(mid2)){
r = mid2
}
else{
l = mid1
}
}
cout<< l <<endl
return 0
}
程序的输出为(        )




24.
程序的输出为( )
问题详情

#include<bits/stdc++.h>
using namespace std
int solve(int x){
if(x == 0 || x == 1){
return x
}
if(x % 2 == 0){
return 1 + solve(x / 2)
}
else{
return 1 + solve((x + 1) / 2)
}
}
int main(){
int n = 100
int ans = solve(n)
cout<<ans<<endl
return 0
}
程序的输出为(      )




25.
一个有n个节点的树,有( )条边。
问题详情




26.
在head部分可以使用标签(    ...
问题详情

在head部分可以使用标签(      )来定义内部样式




27.
以下几种margin写法不正确的有
问题详情

以下几种margin写法不正确的有(      )




28.
下面关于html5的媒体标签说法错误的是(  &nbs...
问题详情

下面关于html5的媒体标签说法错误的是(      )




29.
关于上面两行代码显示结果说法错误的是( )
问题详情

<input type="date" name="bday">
<input type="datetime-local" name="bdaytime">
关于上面两行代码显示结果说法错误的是(      )




30.
哪个HTML5代码提供了一种验证数字输入的值在1到100之间
问题详情




31.
假链接中我们通常在a标签的href中添加什么能使得页面不跳转()
问题详情




32.
现有磁盘读写请求队列为2、4、0、5、1,若当前磁头在1号磁道上,若采用F...
问题详情

现有磁盘读写请求队列为2、4、0、5、1,若当前磁头在1号磁道上,若采用FCFS算法进行磁盘调度时,则平均寻道长度为(      )




33.
有4个批处理的作业(A、B、C和D)到达计算中心的时间分别为9:00,9:...
问题详情

有4个批处理的作业(A、B、C和D)到达计算中心的时间分别为9:00,9:30,9:40,9:50,估计的运行时间分别为60、50、30、10分钟,它们的优先数分别为1、2、4、3(1为最低优先级)。若采用优先级高者优先调度算法,则作业的平均带权周转时间为(      )




34.
下列哪种算法理论上性能最佳,实际上无法实现(  &nb...
问题详情

下列哪种算法理论上性能最佳,实际上无法实现(      )




35.
在一个请求分页系统中,假定系统分给一个作业的物理块数为3,刚开始没有一个页...
问题详情

在一个请求分页系统中,假定系统分给一个作业的物理块数为3,刚开始没有一个页面装入内存,并且此作业的页面走向为2,3,2,1,5,2,4,5,3,2,5,2。使用OPT算法时产生的缺页次数为(      )




36.
一个数据流中出现了的报文片段:A ESC FLAG&n...
问题详情

一个数据流中出现了的报文片段:A ESC FLAG B,假设采用字节填充算法,填充后的输出为(      )




37.
以下地址中的哪一个和76.32/12匹配(  &nbs...
问题详情

以下地址中的哪一个和76.32/12匹配(      )




38.
网络拓扑结构中存在网桥S1、S2、S3、S4,若对应MAC地址分别为AAB...
问题详情

网络拓扑结构中存在网桥S1、S2、S3、S4,若对应MAC地址分别为AABB-CCDD-EE00、AABB-CCDD-EE11、BBBB-CCDD-EE00、BBBB-CCDD-EE11,所有网桥优先级采用默认值,则使用STP协议后,哪个网桥会被确定为根网桥(      )




39.
原始数据为011011111111111111110010采用比特填充技术...
问题详情

原始数据为011011111111111111110010采用比特填充技术填充后的发送数据为(      )




40.
存在以下三个CIDR地址块192.168.11.0/27、192.168....
问题详情

存在以下三个CIDR地址块192.168.11.0/27、192.168.11.32/27和192.168.11.64/26聚合后的CIDR地址块应是(      )




41.
终端发送帧序列为1101011111,使用生成多项式为G(x)=x^4+x...
问题详情

终端发送帧序列为1101011111,使用生成多项式为G(x)=x^4+x+1校验后发出的帧为序列为(      )




42.
处于同一网络上的主机对有(    ...
问题详情

处于同一网络上的主机对有(      )




43.
应用NAT后会带来哪些影响(    ...
问题详情

应用NAT后会带来哪些影响(      )




44.
如果需要在不影响其他对象的情况下,以动态,透明的方式给对象添加职责,应该选...
问题详情

如果需要在不影响其他对象的情况下,以动态,透明的方式给对象添加职责,应该选择何种设计模式?




45.
如果需要一个语言解释执行,并且可以将语言中的句子表示为一个抽象语法树的时候...
问题详情

如果需要一个语言解释执行,并且可以将语言中的句子表示为一个抽象语法树的时候,对效率要求不高的情况下,应该选择何种设计模式?




46.
下图的UML类结构图表示的是哪种设计模式:
问题详情




47.
下图的UML类结构图表示的是哪种设计模式:
问题详情




48.
数据库1NF、2NF、3NF和BCNF之间的关系是(  ...
问题详情

数据库1NF、2NF、3NF和BCNF之间的关系是(      )




49.
某IT公司人事管理采用专门的人事管理系统来实现。后台数据库名为LF。新来的...
问题详情

某IT公司人事管理采用专门的人事管理系统来实现。后台数据库名为LF。新来的人事部张经理新官上任,第一件事是要对公司的员工做全面的了解。可是他在访问员工信息表EMPL里的工资和奖金字段的时被拒绝,只能查看该表其他字段。作为LF的开发者你将如何解决这一问题:(      )




50.
在数据库中存在多列的情况下,若要删除表中的某一列应该使用SQL语句(&nb...
问题详情

在数据库中存在多列的情况下,若要删除表中的某一列应该使用SQL语句(      )




51.
在MySQL中,关于索引,下面描述中错误的一项是(  ...
问题详情

在MySQL中,关于索引,下面描述中错误的一项是(      )




52.
关于数据库的索引,如下那个选项是正确的?
问题详情




53.
数据库中,什么操作命令可以整理表数据文件的碎片
问题详情




54.
下列不属于POSIX互斥锁相关函数的是:(  &nbs...
问题详情

下列不属于POSIX互斥锁相关函数的是:(      )




55.
POSIX线程中如果数据被其他线程修改,则应把数据声明为:( &...
问题详情

POSIX线程中如果数据被其他线程修改,则应把数据声明为:(      )




56.
某公司网络中心升级web服务器的物理内存,相应的要提高linux服务器交换...
问题详情

某公司网络中心升级web服务器的物理内存,相应的要提高linux服务器交换空间,以下可以扩展交换空间的操作是(      )




57.
公司网络中心linux服务器需要升级OA系统,为了防止客户登录影响系统升级...
问题详情

公司网络中心linux服务器需要升级OA系统,为了防止客户登录影响系统升级,网络管理员可以执行的操作有(      )




58.
下面代码执行后的结果为(    &...
问题详情

下面代码执行后的结果为(      )
int main()
{
int sum=0
int i=0,j=0

for(j=0j<6j++)
{
if(j%2)continue
sum++
}

printf("sum=%d",sum)

return 0
}




59.
下列数组定义错误的是(    &n...
问题详情

c语言前提下,下列数组定义错误的是(      )




60.
下列选项哪些语句可以正确定义数组(   &n...
问题详情

c/c++中,下列选项哪些语句可以正确定义数组(      )




61.
下面程序执行的结果为(    &n...
问题详情

下面程序执行的结果为(      )
void main( )
{
char ch1,ch2

ch1 ='D'+'8'-'3'
ch2 ='9'-'1'

printf("%c %d\n",ch1,ch2)
}




62.
下列关于构造函数说法正确的是(   &nbs...
问题详情

下列关于构造函数说法正确的是(      )




63.
关于下面程序说法正确的是(    ...
问题详情

关于下面程序说法正确的是(      )
class Item
{
private:
char *desc
int storage
public:
Item()
{
desc = new char[51]
}

void setInfo(char *dsrc, int num)
{
strcpy(desc,dsrc)
storage = num
}
}

int main()
{
Item stock

stock.setInfo("pen",20)

return 0
}




64.
以下程序运行后的输出结果是(    ...
问题详情

以下程序运行后的输出结果是(      )
int main() {
    int a=1,b=2,m=0,n=0,k
    k=(n=b<a)&&(m=a) 
    printf("%d,%d\n",k,m)
    return 0
}




65.
下列代码段的打印结果为(    &...
问题详情

下列代码段的打印结果为(      )(注:└┘代表空格)
#include <stdio.h>
void main (void)
{
char  ac[]="Hello World! C Program",*p

for(p=ac+6p<ac+9p++)
{
printf("%c",*p)
}
}




66.
有关下面程序说法正确的是(    ...
问题详情

有关下面程序说法正确的是(      )(注:└┘代表空格)
int main()
{
char s[6]= "abcd"
printf("\"%s\"\n", s)

return 0
}




67.
下面程序执行后输出结果为(    ...
问题详情

下面程序执行后输出结果为(      )
#include <stdio.h>
int main()
{
int i, j, m=6,n=4,  *p=&n, *q=&m

i=p==&m
j=(-*p)/(*q)+7

printf("i=%d,j=%d\n", i,j)

return 0
}




68.
下列说法正确的是(    &nbs...
问题详情

下列说法正确的是(      )
#include "stdio.h"
#include "string.h"

void fun( char *s)
{
char t[7]
s=t
strcpy(s, "example")
}

int  main()
{
char *s

fun(s)
printf("%s",s)

return 0
}




69.
下面程序的输出结果是(    &n...
问题详情

下面程序的输出结果是(      )
#include <stdio.h>
int main()
{
int  intArray[] = {1, 2, 3, 4, 5}
int  *p = (int *)(&intArray+1)
printf("%d,%d",*(intArray+1),*(p-1))

return 0
}




70.
有关纯虚函数说法正确的是(    ...
问题详情

c/c++中,有关纯虚函数说法正确的是(      )




71.
下面哪些函数不能被声明为虚函数(   &nb...
问题详情

下面哪些函数不能被声明为虚函数(      )




72.
下面程序的输出结果是(    &n...
问题详情

下面程序的输出结果是(      )
#include <stdio.h>
#include <stdlib.h>
void MallocMem(char* pc)
{
pc = (char*) malloc (100)

return
}

int main()
{
char *str=NULL

MallocMem(str)
strcpy(str,"hello ")
strcat(str+2, "world")

printf("%s",str)

return 0
}




73.
在横线处补充(     ...
问题详情

在横线处补充(      )可以结果输出值为80000007(      )
#include <stdio.h>

int convert(int i)
{
return ___________________
}

int main()
{
int value = 7

printf( "%x\n", convert(value) )

return 0
}




74.
在32系统下输出的结果为(    ...
问题详情

在32系统下输出的结果为(      )
#include <stdio.h>
#pragma pack(2)
struct Test1{
    int a
    char b
    short c
    int *d
} A
#pragma pack()
#pragma pack(4)
struct Test2{
    int *d
    char b
    int a
    short c
} B
#pragma pack()

int main(){
    printf("%d,%d\n",sizeof(A),sizeof(B))
    return 0
}




75.
下列const使用方法错误的是(   &nb...
问题详情

下列const使用方法错误的是(      )




76.
对下面变量声明描述正确的有()int *p[n]int&nbs...
问题详情

对下面变量声明描述正确的有()
int *p[n]
int (*)p[n]
int *p();
int (*)p()




77.
c++的一个类中声明一个static成员变量,下面描述正确的是()
问题详情




78.
面向对象的基本特征有哪些()
问题详情




79.
下面代码打印结果为()union package{ c...
问题详情

下面代码打印结果为()
union package
{
char head
int  body
}
struct message
{
char id
int  crc
union package pack
}

int main()
{
printf("size=%d\n",sizeof(struct message))
return 0
}




80.
多态类中的虚函数表建立在()
问题详情




81.
C++中空类默认产生哪些类成员函数()
问题详情




82.
变量void (*s[5])(int)表示意思为()
问题详情




83.
定义宏#define DECLARE(name, ty...
问题详情

定义宏#define DECLARE(name, type) type name##_##type##_type,
则DECLARE(val, int)替换结果为()




84.
extern "c"的作用有哪些()
问题详情

extern "c"的作用有哪些()




85.
下面程序打印结果为()#include<iostream>us...
问题详情

下面程序打印结果为()
#include<iostream>
using namespace std

class A
{
char a[3]
public:
virtual void fun1(){}
}

class B : public virtual A
{
char b[3]
public:
virtual void fun2(){}
}

class C : public virtual B
{
char c[3]
public:
virtual void fun3(){}
}

int main ()
{
cout << sizeof(A) << endl
cout << sizeof(B) << endl
cout << sizeof(C) << endl
return 0
}




86.
下面代码打印结果为()class Base {&nbs...
问题详情

下面代码打印结果为()
class Base {
char data[3]
public:
virtual void f() { cout << "Base::f" << endl }
virtual void g() { cout << "Base::g" << endl }
virtual void h() { cout << "Base::h" << endl }

}
int main()
{
cout << sizeof(Base)<< endl
return 0 
}






87.
在C语言源程序的开始处通常加上预处理命令 #include&nb...
问题详情

在C语言源程序的开始处通常加上预处理命令 #include   <stdio.h> 的原因是




88.
有转义字符如下:'\0X41'、'\0x41'、'\X41'、'\x41'...
问题详情

有转义字符如下:
'\0X41'、'\0x41'、'\X41'、'\x41'、'\a'、'\b'、'\c'、'\r'
其中错误的转义字符个数是




89.
关于C语言,下列指针变量的定义和解释,均正确的是
问题详情




90.
#include "file.h"和#inc...
问题详情

#include "file.h"和#include <file.h>的区别是(      )




91.
下列程序的功能是输出a数组中小写字母的个数,请为横线处选择合适的程序(&n...
问题详情

下列程序的功能是输出a数组中小写字母的个数,请为横线处选择合适的程序(      )
#include <stdio.h>
main()
{ char a[]="123abc"
int i,num=0
for(i=0_________i++)
if(a[i]>='a'&&a[i]<='z') num++
printf("%d\n",num)
}




92.
若有定义语句:int  a [2][3],(...
问题详情

若有定义语句:
int  a [2][3],(*p)[3],*q[3],则以下赋值语句正确的是(      )




93.
请将B类的构造函数补充完整,要求用x初始化a.请为横线处选择合适的程序(&...
问题详情

请将B类的构造函数补充完整,要求用x初始化a.请为横线处选择合适的程序(      )
class A
{ int a
public:
A(int x=0) { a=x } }
class B: public A {
int b
public:
B(int x): ______________
{ b=x+1 } }




94.
下列关于构造函数的说法,错误的是()
问题详情




95.
下列关于类中的静态成员的说法错误的是()
问题详情




96.
#include <bits/stdc++.h>us...
问题详情

#include <bits/stdc++.h>
using namespace std
int main() {
int n
scanf("%d", &n)
map <int, int> xs
map <int, int> ys
map < pair <int, int>, int > zs
long long ans = 0
for (int i = 0 i < n i++) {
int x, y
scanf("%d %d", &x, &y)
ans += (xs[x]++)
ans += (ys[y]++)
ans -= (zs[make_pair(x, y)]++)
}
cout << ans << endl
return 0
}
输入:
6
0 0
0 1
0 2
-1 1
0 1
1 1
则上述程序输出为( )




97.
#include <bits/stdc++.h>us...
问题详情

#include <bits/stdc++.h>
using namespace std
int main(){
int n = 1001
int ans = 0
for(int i = 1 i <= n ++i){
ans ^= i % 3
}
cout << ans << endl
}
则上述程序输出为( )




98.
nginx 配置如下,访问mytest.com 时,从...
问题详情

nginx 配置如下,访问mytest.com 时,从浏览器里看到的输出是?
server
{
    listen 80
    server_name mytest.com
    root /usr/local/www/

    add_header Content-Type 'text/html charset=utf-8'
    location /
    {
        set $a 1
        echo $a
        set $a 2
        echo $a
        set $a 3
        echo $a
        set $a 4
        echo $a
    }
}




99.
nginx (非扩展)可以搭建下面哪些类型的服务?
问题详情




100.
下面哪个字符最可能会导致sql注入?
问题详情

下面哪些字符最可能会导致sql注入?




101.
下题的运行结果是?
问题详情

下题的运行结果是?
<?php

$a = 1
$b = 2

function sum(&$a, $b)
{
    ++$a
    $b++
    return $a + $b
}

$c = sum($a, $b)

echo $a . ","
echo $b . ","
echo $c . "\n"




102.
下题的运行结果是?
问题详情

下题的运行结果是?
<?php
$num = 7
function add($num){
static $total = 0
if($num>=1){
$total+=$num
add(--$num)
}else{
return $total
}
}
var_dump(add($num))




103.
下面哪些说法是正确的?
问题详情




104.
问题详情

<?php
var_dump(isset($a)) . "\n"
$a = 0
var_dump(isset($a)) . "\n"
var_dump(is_null($a)) . "\n"
var_dump(empty($a))




105.
哪些函数能将字符串分割到数组中 ?
问题详情




106.
对于HTTP code 正确描述的是?
问题详情




107.
下面代码输出结果是?
问题详情

下面代码输出结果是?
<?php
error_reporting(0)
$arr = array(1,2, 3=>3)
var_dump($arr[1])




108.
使用迪杰斯特拉(Dijkstra)算法求下图中从顶点1到其他各顶点的最短路...
问题详情

使用迪杰斯特拉(Dijkstra)算法求下图中从顶点1到其他各顶点的最短路径,依次得到最短路径的目标顶点是
775691ezf.jpg