关注牛客有一段时间了,看见各路大神都在分享面经和试题啥的,这里大神说话又好听,但自己啥也没有orz
看今晚是CVTE提前批第二场的笔试,之前作为一个小透明在牛客也受到了不少的帮助,趁这个时候分享一波之前提前批第一场的笔试题顺便整理一下以往的面经吧
1、C++
单选题
1、在以太网中用直线链接两台主机A(IP.192.168.1.20,子网掩码:255.255.255.240)和主机B(IP:192.168.1.201,子网掩码:255.255.255.240),但在两台主机间使用Ping命令时会返回失败。以下哪些措施可以使Ping命令返回成功?
A. 两台主机间的连接应该使用交叉线来代替直连线
B. 两台主机需要设置默认网关地址
C. 两台主机的子网掩码地址应该设置成255.255.255.192
D. 两台主机间的连接应该使用全反线来代替直连线
E. 两台主机的子网掩码地址应该设置成255.255.255.0
2、如下哪个表示一个只想整型数的常指针
A. int const * a const;
B. Const int *a
C. 以上都不对
D. In * const a
3、以下属于哈希算法的有( )
A. SHA-256
B. RSA
C. KMP
D. MD5
4、无向图G=(V,E),其中V=(a,b,c,d,e,f) , E=(a,b),(a,e),(a,c),(b,e),(c,f),(f,d),(e,d),对图像进行深度优先遍历,得到的顶点序列正确的是( )
A. a, e, d, f, c, b
B. a,e, b,c , f, d
C. a, c, f,e ,b, d
D. a, b, e ,c, d,f
5、Std::move的作用是什么?
A. 把指针转换成引用
B. 把右值转换成左值
C. 把左值转换成右值
D. 把引用转换成左值
6、如果你想列出当前目录以及子目录下所有内容所包含CVTE字符串,且扩展名为“h”的文件,那么您可以使用的命令是
A. find . -name “.h”|xargs grep-| “CVTE”
B. find .-name “.h”|grep- “CVTE”
C. Grep-r| “CVTE” .|xargs grep”.h\(”</p><p> </p><p> </p><p> D. Grep-r| “CVTE .|grep”.h\)”
7、下列排序算法中,哪些时间复杂度不会超过O(N*log2N)
A. 快速排序
B. 冒泡排序
C. 归并排序
D. 堆排序
8、若用数组A(0..6)来实现循环队列,且当前rear和front的值分别为2和6,当从队列中删除3个元素,再加入4个元素后,rear和front的值分别为( )
A.3 , 5
B.1, 4
C.4, 1
D.5, 3
9、文件file1的访问权限为rw-r-r-,现要增加所有用户的权限和同组用户的写权限,下列命令正确的是
A. chmod a+x,g+w file1
B. Chmod 775 file1
C. Chmod 765 file1
D. Chmod a+x,o+w file1
10、在32为环境下执行以下代码,输出结果是( )
classA
{
public:
Void fun(){}
Private:
Float a;
Char b;
Int c[2];
};
cout<< “ “<< sizeof(A);
A.17
B.16
C.13
D.20
11、C++中this的下列说法正确的是?
A. 在类的非静态函数中,this指针由函数的调用者传入
B. this指针是指类的函数成员的指针
C. 在类的函数中,可以获取到this指针
D. This指针存在于每个函数之中
12、C++的继承中下列说法正确的是
A. 子类的this指针地址和父类的this指针地址值不一定相等
B. 使用对象引用调用虚函数可以实现多态
C. 使用对象引用调用函数不可能实现多态
D. 子类的this指针地址和父类的this指针地址值一定相等
13、对以下stTest结构体赋值,正确的说法是?
Typedef stuct
{
U8 Bass;
U8Treble;
U16EQ[3];
U8*pPEQTable;
} stSoundModeSeting;
stSoundModeSeting stTest;
stSoundModeSeting stDefault={50,50{10,10,10,},NULL};
A. 属于逐一成员赋值
B. 可使用如下赋值memcpy(&stDefault,sizeof(stTest);
C. 可使用如下赋值stTest=stDefault;
14、以读写方式打开一个已有文本文件file1,下面fopen函数正确的调用方式是
A. fp=fopen(“file1”,”w”)
B. fp=fopen(“file1”,”r”)
C. Fp=fopen(“file1”,”rb”)
D. fp=fopen(“file1”,”r+”)
15、下面的linux命令可以创建文件的由
A. vim
B. touch
C. Cat
D. Is
16、某二叉树结点的中序遍历序列为G、C、B、D、A、F、E,后序遍历序列为G、D、B、F、E、A,则其左子树中结点数目为( )
A.5
B.3
C.2
D.4
17、在一个单CPU的处理机中,有P1,P3,P5三个作业,有有个IO设备|O1, |O2,并且能够实现抢先式多任务并进行工作的多道程序环境中,投入运行优先级由高到低P5,P1,P3三个作业,他们用用设备的先后顺序和占用设备时间分别为( )
A.0.39
B.0.5
C.0.43
D.0.26
E.0.18
18、以下关于Windows 32位系统与64位系统的区别,哪些描述正确( )
A.32位系统只能使用3.25-3.5g以内的内存,64位系统可支持4g内存以上
B.64位系统下注册表software、WOW6432Node用于存储64位程序配置信息
C.64位系统运行速度一定比32位系统的快一倍
D.32位系统只能运行32位程序,64位系统能完美兼容32位和64位程序
E.32位处理器只能运行32位系统,64位处理器能运行32位和64位系统
19、一个UDP用户数据的数据字段为6480字节,在数据链路层要使用以大网来传送,试问应该划分为几个IP数据报片?
A.8
B.6
C.7
D.5
20、由n个进程共享同一临界资源,若使用信号量机制实现对一临界资源的互斥访问,则信号量的变化范围是( )
A.1至n-1
B.1至n
C.1至-n
D.1至1-n
编程题
21、编写一个函数:char*trim(char*src,const char*sub)在一个字符串中,删除指定的字符串后面的所有字符(原子字符中所有的指定字符串需要保留),然后退回最终结果。
示例:
-输入:helloabcwelcome,abc输出:hellabac
-输入:cvteabc123abccvte,abc输出:cvteabcabc
22、一个长度为size的整型无序数组,已知其中有一个元素出现的次数超过size>>1,另外一个元素出现的次数超过size>>2,请找出这两个元素,要求时间复杂度O(size),空间复杂度O(1)。
实用函数:
void getMagority(int*array,int,size,int size,int& output1,in& output2)
示例:
-输入:array=(3 , 3, 4 ,3 , 2 , 4 ,3, 3, 3 ,4) ,size=10
-输入:output1=30utput2=4
2、Web后台
选择题:
1. 设二叉树的先序遍历序列和后序遍历序列正好相反,则满足该条件的二叉树可能是()[A]
a) 任一结点无右孩子
b) 高度等于其结点数
c) 空或只有一个节点
d) 任一节点无左孩子
2. UDP的主要特点()[A]
a) UDP是无连接的,发送数据之前不需要建立连接
b) UDP是面向报文的
c) UDP支持一对一,一对多,多对一盒多对多的交互通信
d) UDP的首部开销比较大20字节
3. 下面关于HTTP协议的说法正确的是()[B]
a) HTTP是一个普遍用在浏览器和web服务器之间进行数据交换的流式二进制协议
b) HTTP是基于TCP协议之上的应用层协议
c) HTTP协议是ETAG响应头主要用于信息的过期验证
d) Cache-Control-*表示请求和响应的信息都不应该被存储在对方的磁盘系统中
4. 执行以下代码,输出结果为()[C]
a) False/true/true
b) True/false/true
c) True/true/false
d) False/false/true
5. 下面关于Runnable和Callable的说法中,错误的是()[C]
a) 两者都是借口
b) 两者都需要调用Thread.strat()启动线程
c) 两者都支持返回执行结果
d) 两者都可以用来编写多线程程序
6. 在数据库上建立一个复合索引:tb_index(“key1”,”key2”),则下面那些语句使用该索引()[A]
a) Select * from table_name where key2=2
b) Select * from table_name where key1 like “test%” and key2=20
c) Select * from table_name where key1=10 or key2=20
d) Select * from table_name where key1 like “%test%” and key2=20
7. 关于泛型,下面说法正确的是()[A]
1.如果要从集合中读取类型T的数据,并且强制不能添加元素到集合中,可以使用? Extends 通配符
2.如果要向集合中添加类型T的数据,并且不需要读取,可以使用? Super通配符
3.如果既要存又要取,那么就不要使用任何通配符
a) 全部不正确
b) 1和2
c) 3
d) 全部正确
8. 关于Java并发编程的描述下列说法错误的是()[A]
a) 在多线程中,多个线程被并发的执行以提高程序的效率,因此在程序中线程是越多越好
b) 假设在一个可拆分为三个步骤的顺序执行任务中,为了提高程序执行效率,可以开启三个线程分别执行三个步骤
c) 我们都知道sychronized关键字可以用来修饰需要加锁的代码块,因此在需要加锁的代码块实现类上也应该加上关键字
d) 进程是一个独立的运行环境,它可以被看做一个程序或者一个应用,而线程是在进程中执行的一个任务
9. 一下关于数据库事务的描述正确的有()[B]
a) 事务是数据库的逻辑工作单位,事务中操作要么都做,要么都不做
b) 事务具有四个基本特征:即原子性,一致性,隔离性,持久性
c) 数据库中一个事务的执行可以受其他事务的干扰
d) 事务执行的结果必须是使数据库重一个一致性状态转换到另一个一致性状态
10. 一下关于线程本地变量ThredLocal说法正确的是()[A,D]
a) 为每个线程提供独有的变量拷贝
b) 原理是Map
c) 线程结束后ThredLocal可以不手动remove
d) ThreadLocal能保证线程安全
11. 会导致java.lang.OutOfMemoryError异常的是()[A,C]
a) PermGen space
b) StackOverflowError
c) Javaheap space
d) Unable to create new native thread
12. 分治算法的基本步骤包括()[A,C,D]
a) 分解
b) 递归
c) 排序
d) 组合
13. 关于Java的垃圾回收器(garbage collector)一下说法正确的有()[A,B,C]
a) 当对象对当前使用这个对象的应用程序变得不可触及的时候,这个对象就可以被回收了
b) 垃圾回收器(garbage collector)决定回收某对象时,就会运行该对象的finallize()方法
c) 调用System.gc()和Runtime.gc()方*导致JVM立即执行垃圾回收,开发程序应该慎用
d) 如果对象的引用被置位null,垃圾回收器会立即释放对象占用的内存
14. 一下Java程序运行的结果是()[B]
a) Start try /CVTE /Exeception /finally start/CVTE /finaly end/return in catch Exeception
b) Start try /CVTE /Exeception
c) Start try /CVTE /Exeception /finally start/CVTE /finaly end/return in catch Exeception
d) Start try /CVTE
15. 在Java中,一下关于方法重载和方法重写描述不正确的是()[C]
a) 方法重载要求参数名相同,参数列表可以不同
b) 方法重载出现在同一个类中,方法重写是在类的父子关系中
c) 方法重写的返回值类型可以不同,方法重载的返回值类型必须完全相同
d) 方法重写要求参数名称相同,参数列表可以不同
16. 若用数据A[0..6]来实现循环队列,且当前rear和front的值分别为2和6,当从队列中删除3个元素,再加入4个元素后,rear和front的值分别为()[A]
a) 5,3
b) 4,1
c) 3,5
d) 1,4
17. 关于类加载器,下面说法正确的是()[]
1.由不同的类加载器加载的指定类是不同的类型
2.编写自定义类加载器不指定父类加载器,会默认指定类加载器为系统类加载器
3.类加载过程是按照静态属性,静态方法声明,静态属性赋值,静态块的顺序进行
a) 全部正确
b) 1 3
c) 全部不正确
d) 1 2
18. 关于Java8描述正确的是()[A]
a) 使用Lambda表达式对一个字符串数组进行排序,可以写成:Collections.sort(names,(s1,s2)->s1.compareTo(s2))
b) Java8中可以使用LocalDate.now()来获取默认格式(yyyy-MM-dd)的当前日期
c) Java8中支持接口的默认方法和私有方法
d) 使用新特性Optional.of(null)时不会抛出Nullpoint Exception异常
19. 下列排序算法中,哪些时间复杂度不会超过O(N*log2N)()[B,C,D]
a) 冒泡排序
b) 快速排序
c) 归并排序
d) 堆排序
20. Hashset子类依靠()方法区分重复元素[C,D]
a) toString()
b) compareTo(T o)
c) hashCode()
d) equals()
编程题
21:
近期,CVTE的信息安全小组,举报了一场信息安全竞赛,新人诸葛小明截获到一串仅包含数字的加密字符串,假设加密规则已知,如下所示:
A加密为1,B加密为2,如此类推,直到Z加密为26:
Aà1
B->2
..
..
..
L->12
..
Z->26
聪明的你,请用Java语言帮诸葛小明计算可能的明文总数吧.
样例输入:
12
输出:2
22
在web开发中,经常要验证用户输入的字符串是否符合某种规范,请完善validIPaddress (String IP)方法,判断字符串时候符合IPv4或IPv6的地址规范.
IPv4地址以十进制表示方法表示,它由四个十进制数组成,每个数字范围从0到255,以”.”分割,例如172.16.254.1:以此表示,此外IPv4的前导零无效.例如:172.16.255.01无效
IPv6地址表示为八组四个十六进制数字,每组代表16位,这些组用冒号”:”分割.例如:
2001:0db8:85a3:0000:0000:8a2e:0370:7334是一个有效的地址.此外,我们可以省略四个十六进制数字中的一些前导零和忽略大小写,所以2001:0db8:85a3:0000:0000:8a2e:0370:7334也是一个有效的ipv6地址,省略前导零和使用大写字母.
然而,我们不适用两个连续的冒号”:”来使用单个空组来替换零值的连续组,以追求简单性,
用例1:

输入:192.16.254.1
输出:Ipv4
用例2:
输出: 2001:0db8:85a3:0000:0000:8a2e:0370:7334
输出:ipv6
用例3:
输入:256.256.256.256
输出:Neither
23
CVT为了提高校招效率,提升和面试官同一,想做一个排号系统:
该系统需求如下:
1. 学生通过扫描二维码,选择面试地点及面试岗位
2. 各岗位面试官根据面试地点及岗位,叫号本岗位最先排队的
3. 同一个学生不可以提升被本岗位多个面试官叫号
4. 校招组织者可以在后台开始添加面试地点及面试岗位
若是让你实现,你会怎样设计该系统?该设计优势?如何实现?
3、web前端
选择题
1. 若目标串的长度为n,模式串的长度为n/3,则执行模式匹配算法时,在最坏的情况下的事件复杂度是()
A. O(n^3) B.O(n^2) C.O(n) D.O(n/3)
2. 将字母序列(E,H,B,Y,L,A,M,S,Y,D,F,X)按ASCⅡ码值,分别使用冒泡排序、二路归并排序和快速排序一趟的结果可以为()
A. E,B,H,L,A,M,S,Y,D,F,X,Y
E,H,B,Y,A,L,M,S,D,Y,F,X
D,A,B,E,L,Y,M,S,Y,H,F,X
B. E,H,B,L,A,M,S,Y,D,F,X,Y
A,B,E,H,L,Y,D,F,M,S,X,Y
B,A,D,E,H,Y,L,M,S,Y,F,X
C. E,H,B,L,A,M,S,Y,D,F,X,Y
D,A,B,E,L,Y,M,S,Y,H,F,X
B,A,D,E,H,Y,L,M,S,Y,F,X
D. E,B,H,L,A,M,S,Y,D,F,X,Y
A,B,E,H,L,Y,D,F,M,S,X,Y
D,A,B,E,L,Y,M,S,Y,H,F,X
3. 如下HTML代码:下面选项中能将表单提交的有?
A. window.forms.submit();
B. document.forms[0].submit();
C. document.form.submit();
D. document.forms[‘myform’].submit();
4. 动态创建一个DIV标签并追加到BODY节点中,可以使用那些方法?
A. createElement和appendChild;
B. getElementById和replaceChild;
C. createTextNode和setAttribute;
D. createTextNode和insertBefore
5. 如下javascript代码:
console.log(Number(undefined));
执行结果为?
A. NAN;
B. null;
C. undefined;
D. 0;
6. 运行下面的代码,当点击生成的div元素后,其结果是?
var text=’A’;
function Div(){
this.text=‘B’;
this.ele=documenet.createElement(‘div’);
this.ele.innerHTML=this.text;
this.ele.addEventListener(‘click’,this.func);
}
div.prototype.Render=function(){
document.body.appendChild(this.ele);
}
div.prototype.func=function(){
console.log(this.text,text);
};
var div=new Div();
div.Render();
div.func();
A. undefined B;
B. A B;
C. B A;
D. undefined A;
7. 关于NodeJS以下说法正确的是?
A. 下载完的依赖包都被放入node_modules的目录中;
B. depandencies是指在生产环境中需要用到的依赖;
C.devDependencies是指在开发测试环境中用到的依赖;
D.NodeJS是单线程设计的应用,无法开启多线程处理任务;
8.有6个字母a,b,c,d,e,f顺序入栈,下方的弹出栈的序列错误的是()
A.e,d,c,f,b,a
B.d,e,c,a,b,f
C.c,d,f,e,b,a
D.b,c,d,a,e,f
9.以下说法,正确的是?
A.对象的constructor属性始终与其原型的constructor属性相等;
B.每个自定义函数都有一个prototype属性;
C.只有使用new操作符创建的对象才会有constructor属性;
D.对象的constructor属性始终指向构造函数本身;
10.关于正则表达式字符类以下说法正确的是?
Ahttps://www.wondercv.com/community/^[aA-Z]w{7,10}\(/长度为8-10的用户密码(以字母开头数字下划线);</p><p> </p><p> </p><p> Bhttps://www.wondercv.com/community/^[u4e00-u9fa5]{0,}\)/汉字验证;
Chttps://www.wondercv.com/community/^w+([-+.]w+)@w+([-.]w+).w+([-.]w+)$/电子邮箱验证;
Dhttps://www.wondercv.com/community/^http: //([w-]+.)+[w-]+(/w-https://www.wondercv.com/community/?%&=])?\(/URL地址验证;</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 11.在 HTML5中,哪个方法用于获得用户的当前位置?</p><p> </p><p> </p><p> A. getUserPosition();</p><p> </p><p> </p><p> B.getPosition();</p><p> </p><p> </p><p> C.getCurrentPosition();</p><p> </p><p> </p><p> D.getClientPosition();</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 12.TCP/P五层协议从上到下分别是什么?</p><p> </p><p> </p><p> A.会话层->传输层>网络层>数据链路层->物理层</p><p> </p><p> </p><p> B.应用层->传输层->网络层->数据链路层->物理层;</p><p> </p><p> </p><p> C.表示层->网络层->传输层->数据链路层->物理层</p><p> </p><p> </p><p> D.会话层->网络层->传输层>数据链路层->物理层</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 13若无向图G=(V,E)中含10个顶点,要保证图G在任何情况下都是连通的,则需要的边数最少是</p><p> </p><p> </p><p> A.72</p><p> </p><p> </p><p> B.90</p><p> </p><p> </p><p> C.9</p><p> </p><p> </p><p> D.37</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 14.下列排序算法中,哪些时间复杂不会超过O(N*log2N)( )</p><p> </p><p> </p><p> A.归并排序</p><p> </p><p> </p><p> B.堆排序</p><p> </p><p> </p><p> C.快速排序</p><p> </p><p> </p><p> D.冒泡排序</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 15. Generator函数是ES6提供的种异步编程解决方案那么以下输出结果是?</p><p> </p><p> </p><p> function* testGenerator(x){</p><p> </p><p> </p><p> yield x+1;</p><p> </p><p> </p><p> return"hello cvte";</p><p> </p><p> </p><p> yield x+2;</p><p> </p><p> </p><p> }</p><p> </p><p> </p><p> var testGen= testGenerator(1);</p><p> </p><p> </p><p> testGen.next();</p><p> </p><p> </p><p> testGen.next();</p><p> </p><p> </p><p> console.log(testGen.next());</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> A.{value: "hello cvte",done:false}; I</p><p> </p><p> </p><p> B.{value: undefined,done:true}</p><p> </p><p> </p><p> C.{value: hello cvte",done:true}</p><p> </p><p> </p><p> D.{value: 2,done:false}</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 16.下面哪些加密算法是可逆的?</p><p> </p><p> </p><p> A.MD5;</p><p> </p><p> </p><p> B.AES;</p><p> </p><p> </p><p> C.RSA;</p><p> </p><p> </p><p> D.DES;</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 17.下面关于隐藏元素的说法不正确的是?</p><p> </p><p> </p><p> A.opacity:0,元素隐藏起来了,但不会改变页面布局;</p><p> </p><p> </p><p> B.父元素设置 opacity:0,子元素也变透明了;</p><p> </p><p> </p><p> C.visibility: hidden,元素隐藏起来了,但不会改变页面布局;</p><p> </p><p> </p><p> D. display:none,元素隐藏起来了,但不会改变页面布局;</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 18以下哪些属于 macrotask?</p><p> </p><p> </p><p> A. XMLHttpRequest;</p><p> </p><p> </p><p> B. setImmediate;</p><p> </p><p> </p><p> C. setInterval;</p><p> </p><p> </p><p> D. setTimeout;</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 19下列选项中,值为true的是?</p><p> </p><p> </p><p> function Mike(){</p><p> </p><p> </p><p> this sayMike=function(){};</p><p> </p><p> </p><p> }</p><p> </p><p> </p><p> function Tom(){}:</p><p> </p><p> </p><p> Tom.prototype= new Mike()</p><p> </p><p> </p><p> Tom.prototype.sayTom-function(){}</p><p> </p><p> </p><p> var tom=new Tom();</p><p> </p><p> </p><p> A.tom._proto_._proto_===Mike;</p><p> </p><p> </p><p> B.tom._proto_.sayTom===Tom.prototype.sayTom;</p><p> </p><p> </p><p> C.tom._proto_._proto_===Mike.prototype;</p><p> </p><p> </p><p> D.tom._proto_._proto_._proto_===Mike.prototype;</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 20.下面代码的输出结果是?</p><p> </p><p> </p><p> var array1=[5,12,8,130,44];</p><p> </p><p> </p><p> var found= array1.find(element =>element > 10);</p><p> </p><p> </p><p> console.log(found);</p><p> </p><p> </p><p> A.122;</p><p> </p><p> </p><p> B.1;</p><p> </p><p> </p><p> C.4;</p><p> </p><p> </p><p> D.44;</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 21分析下面的 JavaScript语句:</p><p> </p><p> </p><p> var str="This apple costs "+50.5+0.5;</p><p> </p><p> </p><p> 执行后str的值是?</p><p> </p><p> </p><p> A."This apple costs"50.5. 0.5;</p><p> </p><p> </p><p> B. This apple costs 50.50.5:</p><p> </p><p> </p><p> C. This apple costs 51;</p><p> </p><p> </p><p> D. This apple costs 50.55;</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 22如下代码</p><p> </p><p> </p><p> for(var i=0;i<5;1++){</p><p> </p><p> </p><p> setTimeout(function(){console.log(i);i*1000};</p><p> </p><p> </p><p> }</p><p> </p><p> </p><p> 输出的结果为?</p><p> </p><p> </p><p> A.4 4 4 4 4</p><p> </p><p> </p><p> B.5 5 5 5 5</p><p> </p><p> </p><p> C.0 1 2 3 4</p><p> </p><p> </p><p> D.1 2 3 4 5</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 23.下面属于盒子定位有?</p><p> </p><p> </p><p> A.盒子浮动定位</p><p> </p><p> </p><p> B.盒子页面定位</p><p> </p><p> </p><p> C.position定位</p><p> </p><p> </p><p> D.盒子流动定位</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 24.下面关于 apply和call的描述中,错误的是?</p><p> </p><p> </p><p> A.apply也可以传入 number或 string类型为参数;</p><p> </p><p> </p><p> B.call传参以不定数的方式传入;</p><p> </p><p> </p><p> C.参数数量动态变化时一般用 apply;</p><p> </p><p> </p><p> D.两者都可以改变函数运行时的上下文;</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 25.关于 async和 await的描述正确的是?</p><p> </p><p> </p><p> A.使用该特性需要在 function之前加上 async关键字;</p><p> </p><p> </p><p> B.await后面只能是 promise对象;</p><p> </p><p> </p><p> C.await后面可以是个字符串常量;</p><p> </p><p> </p><p> D.async函数中所有代码的执行方式从异步执行变为同步执行;</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 26.下面哪些不是 JavaScript内置的函数对象?</p><p> </p><p> </p><p> A.Array;</p><p> </p><p> </p><p> B.Time;</p><p> </p><p> </p><p> C.RegExp;</p><p> </p><p> </p><p> D.DateTime;</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 27.用于播放HTML5视频文件的正确HTML5元素是?</p><p> </p><p> </p><p> A.audio</p><p> </p><p> </p><p> B.video</p><p> </p><p> </p><p> C.media</p><p> </p><p> </p><p> D.movie</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 28下面代码的输出结果是?</p><p> </p><p> </p><p> var result=[‘1’,’2’,’3’].map(parseInt);</p><p> </p><p> </p><p> console.log(result);</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> A.其他3个都不对;</p><p> </p><p> </p><p> B.[‘1’,’2’,’3’];</p><p> </p><p> </p><p> C.[1,2,3];</p><p> </p><p> </p><p> D.[0,1,2];</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 编程题</p><p> </p><p> </p><p> 29.使用CSS实现一个等边三角形</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 30.写个密码校验函数,输入一个密码,判断这个密码是否符合下述要求</p><p> </p><p> </p><p> 1.由数字字母组成;</p><p> </p><p> </p><p> 2.6-16位;</p><p> </p><p> </p><p> 3.字母和数字均至少出现次;</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> function checkPwd(pwd){</p><p> </p><p> </p><p> }</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 4、安卓应用开发 </p><p> </p><p> </p><p> 1. 在TCP/IP网络中,为各种公共服务保留的端口号范围是()</p><p> </p><p> </p><p> 1-65535</p><p> </p><p> </p><p> 1-255</p><p> </p><p> </p><p> 1-1024</p><p> </p><p> </p><p> 1-1023</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 2. 一个UDP用户数据的数据字段为6480字节,在数据链路层要使用以太网来传送,试问应当划分为几个IP数据报片</p><p> </p><p> </p><p> 5</p><p> </p><p> </p><p> 6</p><p> </p><p> </p><p> 7</p><p> </p><p> </p><p> 8</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 3. 关于http请求header中的referer,以下说法正确的有</p><p> </p><p> </p><p> 客户端较难伪造</p><p> </p><p> </p><p> 从一个https页面跳转至http页面的请求中不会包含referer信息</p><p> </p><p> </p><p> 具有防外链功能</p><p> </p><p> </p><p> 所有请求中都会包含该信息</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 4. 若无向图G=(V,E)中含10个顶点,要保证图G在任何情况下都是连通的,则需要的边数最少是</p><p> </p><p> </p><p> 9</p><p> </p><p> </p><p> 72</p><p> </p><p> </p><p> 90</p><p> </p><p> </p><p> 37</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 5. 关于AVL树,下列说法正确的是</p><p> </p><p> </p><p> 从AVL树中删除节点,可以透过把要删除的节点向下旋转成一个叶子节点,接着直接移除这个叶子节点来完成</p><p> </p><p> </p><p> 高度为h的AVL树,节点数N最多为2^h-1</p><p> </p><p> </p><p> AVL树中任何节点的两个子树的高度最大差别为一</p><p> </p><p> </p><p> AVL树是自平衡二叉查找树</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 6. 一个袋子里装了20个芒果,30个石榴,40个苹果,50个菠萝,60个香蕉。如果每分钟从里面随机抽取一个水果,那么最多过多少分钟肯定能至少拿到一打相同相同类型的水果?(一打=10个)、</p><p> </p><p> </p><p> 35分钟</p><p> </p><p> </p><p> 57分钟</p><p> </p><p> </p><p> 68分钟</p><p> </p><p> </p><p> 46分钟</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 7. 现有一个包含m个节点的三叉树,即每个节点都有三个指向孩子结点的指针,请问;在这3m个指针中有()个空指针?</p><p> </p><p> </p><p> 2m</p><p> </p><p> </p><p> 2m+1</p><p> </p><p> </p><p> 3m</p><p> </p><p> </p><p> 2m-1</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 8. 在如下gradle文件中,我们可以在general渠道里面配置哪些参数()</p><p> </p><p> </p><p> android{ </p><p> </p><p> </p><p> compileSdkVersion 26</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> defultConfig{ </p><p> </p><p> </p><p> applicationld "com.cvte.test"</p><p> </p><p> </p><p> minSdkVersion 19</p><p> </p><p> </p><p> tragetSdkVersion 26</p><p> </p><p> </p><p> versionCode 1</p><p> </p><p> </p><p> versionName "1.0"</p><p> </p><p> </p><p> } </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> signingConfigs{ </p><p> </p><p> </p><p> debug{ </p><p> </p><p> </p><p> storeFile file(debug.keystore) </p><p> </p><p> </p><p> } </p><p> </p><p> </p><p> release{ </p><p> </p><p> </p><p> storeFile file(release.keystore) </p><p> </p><p> </p><p> } </p><p> </p><p> </p><p> } </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> productFlavors{ </p><p> </p><p> </p><p> general{} </p><p> </p><p> </p><p> } </p><p> </p><p> </p><p> } </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> signingConfig</p><p> </p><p> </p><p> buildTypes</p><p> </p><p> </p><p> versionName</p><p> </p><p> </p><p> applicationld</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 9. Android关于Service生命周期的onCreate()和onStartCommand()说法正确的是()</p><p> </p><p> </p><p> 如果service已经启动,只会执行onStartCommand()方法,不会再执行onCreate()方法</p><p> </p><p> </p><p> 当第一次启动的时候先后调用onCreate()和onStartCommand()方法</p><p> </p><p> </p><p> 当第一次启动的时候只会调用onCrate()方法</p><p> </p><p> </p><p> 如果Service已经启动,将先后调用onCreate()和onStatrCommand()方法</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 10. 子线程跟新UI的方法包括()</p><p> </p><p> </p><p> View.post(Runnable r)</p><p> </p><p> </p><p> runOnUiThread(Runnable r)</p><p> </p><p> </p><p> handler.post(Runnable r),该handler工作再主线程</p><p> </p><p> </p><p> handler.HandleMessage(Message msg),该handler工作再主线程</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 10.子线程更新UI的方法包括()</p><p> </p><p> </p><p> vIew.post( Runnable r)</p><p> </p><p> </p><p> run OnUiThread(Runnable r)</p><p> </p><p> </p><p> handler, post( Runnable r),该 handle工作在主线程</p><p> </p><p> </p><p> handler.handleMessage( Message msg),该 handler工作在主线程</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 11以下哪些属于进程间通信方式()</p><p> </p><p> </p><p> AIDL</p><p> </p><p> </p><p> Handler</p><p> </p><p> </p><p> Intent</p><p> </p><p> </p><p> Broadcast</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 12.下列关于Service和Thread说法正确的是()</p><p> </p><p> </p><p> 可以在 Service中进行耗时操作,不会造成ANR</p><p> </p><p> </p><p> Service是一直运行在后台的线程</p><p> </p><p> </p><p> 可以在 Service中再创建线程来执行需要执行的操作</p><p> </p><p> </p><p> 只要 Service被创建后,就运行在主进程的main线程</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 13以下关于Hashtable与HashMap的说法,正确的是()</p><p> </p><p> </p><p> Hashtable不允许存在空的key,但是Hash Map允许存在一个空的key</p><p> </p><p> </p><p> Hashtable允许存在空的key, HashMap也允许存在一个空的key</p><p> </p><p> </p><p> HashMap不能保证随着时间的推移Map中的元素次序不变</p><p> </p><p> </p><p> Hashtable是非线程安全的,而HashMap是线程安全的</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 14下列关于Java类的说法正确的有()</p><p> </p><p> </p><p> 一个class内可以定义多个constructor</p><p> </p><p> </p><p> class里面必须声明constructor</p><p> </p><p> </p><p> constructor必须与class同名,但其他方法不能与class同名</p><p> </p><p> </p><p> constructor在一个对象被new时执行</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 15,在Java中,以下代码,输出结果是()</p><p> </p><p> </p><p> public class A {</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> public int a=0;</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> public void fun(){</p><p> </p><p> </p><p> System. out.println("-----A-----");</p><p> </p><p> </p><p> }</p><p> </p><p> </p><p> }</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> public class B extends A{</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> public int a= 1:</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> public void fun(){</p><p> </p><p> </p><p> System. out. println("-----B-----");</p><p> </p><p> </p><p> }</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> public static void main(String[] args){</p><p> </p><p> </p><p> A classA = new B();</p><p> </p><p> </p><p> System. out. println(classA. a)</p><p> </p><p> </p><p> classA fun();</p><p> </p><p> </p><p> }</p><p> </p><p> </p><p> }</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 1</p><p> </p><p> </p><p> -----A-----</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 0</p><p> </p><p> </p><p> -----B-----</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 0</p><p> </p><p> </p><p> -----A-----</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 1</p><p> </p><p> </p><p> -----B-----</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 16在Java中,以下选项的循环结构合法的是()</p><p> </p><p> </p><p> while(int j<3){</p><p> </p><p> </p><p> j++;</p><p> </p><p> </p><p> System, out. printin(“j is"+j);</p><p> </p><p> </p><p> }</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> int j=5;</p><p> </p><p> </p><p> while (j){</p><p> </p><p> </p><p> System. out printin(“j is”+j);</p><p> </p><p> </p><p> }</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> int j=0;</p><p> </p><p> </p><p> for(int i=0:j+I != 10;j++,i++){</p><p> </p><p> </p><p> System, out. println(“j is"+j+"I is"+i):</p><p> </p><p> </p><p> }</p><p> </p><p> </p><p> int j=0;</p><p> </p><p> </p><p> do{</p><p> </p><p> </p><p> System. out. println(“j is”+j++);</p><p> </p><p> </p><p> If(j==3){</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> continue loop;</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> }</p><p> </p><p> </p><p> } while ( j<10);</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 17Java接口的修饰符不包括()</p><p> </p><p> </p><p> abstract</p><p> </p><p> </p><p> final</p><p> </p><p> </p><p> private</p><p> </p><p> </p><p> protected</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 18在Java中,下列选项中可以用synchronized关键字修饰的有()</p><p> </p><p> </p><p> long</p><p> </p><p> </p><p> Integer</p><p> </p><p> </p><p> Double</p><p> </p><p> </p><p> String</p><p> </p><p> </p><p> Example(类)</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 19在Java中,关于方法重载和方法重写的说法正确的是()</p><p> </p><p> </p><p> 方法重写只能用于子类重写父类的方法,方法重载用于同一个类中的所有方法</p><p> </p><p> </p><p> 方法重写的参数列表必须一致,而方法重载要求参数列表必须不一致</p><p> </p><p> </p><p> 重载的参数列表只要类型相同,个数相同即可,顺序不重要</p><p> </p><p> </p><p> 被重写的方法可以为 private</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 20降低Java垃圾回收开销的实践说法不正确的()</p><p> </p><p> </p><p> 谨慎使用字符串拼接</p><p> </p><p> </p><p> 集合初始化的时候使用默认大小,避兔内存空间浪费</p><p> </p><p> </p><p> 直接处理数据流,避免在内存中生成大量对象</p><p> </p><p> </p><p> 使用不可变对象,降低GC周期</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 21.下列关于Runnable和Callable的说法中,错误的是()</p><p> </p><p> </p><p> 两者都可以用来编写多线程程序</p><p> </p><p> </p><p> 两者都需要调用 Thread, start0启动线程</p><p> </p><p> </p><p> 两者都是接口</p><p> </p><p> </p><p> 两者都支持返回执行结果</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 22关于Java8的stream接口,下列说法不正确的是()</p><p> </p><p> </p><p> 对一个集台使用 distinct操作需要集合中元素实现了hashcode和equals方法</p><p> </p><p> </p><p> 流式操作前将装箱类型数据转化为基本类型,在计算效率上没有任何区别</p><p> </p><p> </p><p> 一个串行流在几乎不用修改代码的情况下,可以很套易的转换为并行流</p><p> </p><p> </p><p> 常用的流操作有 collect,map, filter, reduce等</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 23会导致java. lang. OutofMemory Error异常的是()</p><p> </p><p> </p><p> StackOverflow Error</p><p> </p><p> </p><p> PermGen space</p><p> </p><p> </p><p> Java heap space</p><p> </p><p> </p><p> unable to create new native thread</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 24如果您想列出当前目录以及子目录下所有内容包含CVTE字符串,且扩展名为"h"的文件,那么您可以使用的命</p><p> </p><p> </p><p> 令是</p><p> </p><p> </p><p> find. –name "* h"|xargs grep -I "CVTE</p><p> </p><p> </p><p> grep-rl "CVTE" .| grep ".h\)”
find. –name “*.h”l grep –I “CVTE”
grep –rl “CVTE” .|xargs grep”.h\(”</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> 25在shell编程中,关于\)2描述正确的是()。
表示shell程序的第2个位置参数
可以通过2=“hello”对位置参数2=“hello”对位置参数2=“hello”对位置参数2进行赋值
可用$10引用第十个位置参数
表示shel程序携带了2个位置参数
26有M个班级参与校运动会,总人数为N,此时所有的学生随机站成一队,需从该队伍中挑选出位置连续的学生参加跳远比赛,要求挑选出的学生不是来自同一个班级,且人数尽可能多。如果你是体育老师,你该怎么做,请给出效率最高的算法。
示例:共有4个班级参加,即A班、B班、C班、D班,总人数为12个人,队伍序列为DABBCCCBBACD的。那么最终选出的比塞队伍为最后四位学生,分别为BACD四个班级的学生。
输入: DABBCCCBBACD
输出:BACD
public String getTeam(String students){
∥ToDo
}
27有n位小朋友们要参加比害,老师要为每位小朋友购买一件T恤,T恤总共有k种颜色,每位小朋友穿不同颜色的T恤费用也不一样。请设计一种购买方案,当小朋友们站成一排时,让相邻的小朋友恤颜色不一样并且费用最少。衣服价格 prices通过一个n*k的矩阵给出(所有价格都是正整数),比如:
pnces[0][0]表示小朋友0穿颜色0的T恤价格
prices[1][2]表示小朋友1穿颜色2的恤价格
示例: pnces=[10,1,9][912,3][10,3,8], return7
public int minPrice(int[][] prices){
// TODO
}
—————————————————————-
以上是试题部分,接下来发整理的面经
【C++】360,网易,猎豹,腾讯,CVTE面经集合:https://www.nowcoder.com/discuss/54188
【Java/安卓】秋招面试经验分享-阿里,cvte,迅雷,网龙,美团:https://www.nowcoder.com/discuss/59029
【前端】2018秋招前端面经总结:https://www.nowcoder.com/discuss/52998
【Java开发】守得云开见月明,一个非科班非211渣本的秋招求职之路:https://www.nowcoder.com/discuss/52268
【C++后台开发】趋势科技、美团、小米、网易互娱C++后台开发offer面经:https://www.nowcoder.com/discuss/52218
【C++开发】C++开发的求职之路:坚持就是胜利:https://www.nowcoder.com/discuss/52132
【前端】cvte秋招前端面经:https://www.nowcoder.com/discuss/52057
【C++】九月秋招经历及感想:https://www.nowcoder.com/discuss/51969
【未知】漫长的九月秋招要结束了。瑟瑟发抖的萌新也发篇面经回馈下牛客:https://www.nowcoder.com/discuss/51507
【前端】某二本工程学院的血泪秋招(前端方向):https://www.nowcoder.com/discuss/51489
【前端】从实习到秋招的面试纪录:https://www.nowcoder.com/discuss/50654
【Java】春招0 offer的渣渣,是如何在秋招找到自己满意的工作!!:https://www.nowcoder.com/discuss/50571
【Java】Java秋招面经大合集(百度腾讯阿里美团网易小米拼多多等):https://www.nowcoder.com/discuss/50439
【C++】渣硕C++秋招笔经面经全纪录:https://www.nowcoder.com/discuss/50209
【C++】360,网易,猎豹,腾讯,CVTE面经集合:https://www.nowcoder.com/discuss/54188
【数据/Java/测试】漫漫求职路全记录(长文慎入):https://www.nowcoder.com/discuss/49345
【安卓】非科班生的Android秋招求职经历:https://www.nowcoder.com/discuss/57239
【前端】【前端面经】谢谢牛客网这个平台(AToffer):https://www.nowcoder.com/discuss/56845
【Java】秋招以来的面经:https://www.nowcoder.com/discuss/56736
【C++】秋招结束 回馈牛客:https://www.nowcoder.com/discuss/56720
【Java】秋招总结,望能帮助到大家:https://www.nowcoder.com/discuss/58360
【C++】校招面经,回馈牛友们:https://www.nowcoder.com/discuss/58083
【C++】一名渣渣C++程序员的心酸春招/秋招记:https://www.nowcoder.com/discuss/57942
【测开】秋招总结(测试开发岗):https://www.nowcoder.com/discuss/57775

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/147843.html