美图秋招技术岗笔试题.docx
《美图秋招技术岗笔试题.docx》由会员分享,可在线阅读,更多相关《美图秋招技术岗笔试题.docx(17页珍藏版)》请在冰点文库上搜索。
![美图秋招技术岗笔试题.docx](https://file1.bingdoc.com/fileroot1/2023-6/9/1a2b6c1d-5f56-4a99-9ba7-0d7dfe970821/1a2b6c1d-5f56-4a99-9ba7-0d7dfe9708211.gif)
美图秋招技术岗笔试题
xxx美图秋招试题
xxx美图Java秋招试题
一、单选题
1、关于垃圾回收算法G1,哪个说法是错误的(B )。
A. 并行和并发,具有多线程操作能力
B. 不适用堆空间太大的场景
C. G1停顿时间更加可预测
D. 不会对系统吞吐量产生较大影响
2、以下程序的执行结果是?
(D )
classBase{
finalpublicvoidshow(){
System.out.println("Base:
:
show()called");
}
}
classDerivedextendsBase{
publicvoidshow(){
System.out.println("Derived:
:
show()called");
}
}
classMain{
publicstaticvoidmain(String[]args){
Baseb=newDerived();
b.show();
}
}
A. Derived:
:
show()被调用
B. Base:
:
show()被调用
C. RuntimeError
D. CompilerError
3、多线程中栈与堆是公有的还是私有的(D)
A. 栈私有,堆私有
B. 栈公有,堆私有
C. 栈公有,堆私有
D. 栈私有,堆公有
4、在SQL数据库一个班级表里只记录了100位同学的情况,那么对该表建立索引文件的描述正确的是(D)
A. 一定要,因为索引对于任何数据库表都是必要的
B. 没有必要,因为建立索引对任何数据库的性能都没有影响
C. 一定要,因为索引有助于加快搜索记录的进程
D. 不适宜,因为对少量记录的表进行索引实际上会产生不利的影响
5、Java垃圾回收算法CMS执行的顺序是(A )
A. 初始标记->并发标记->并发预清理->重新标记->并发清理->并发重置
B. 初始标记->并发标记->重新标记->并发预清理->并发清理->并发重置
C. 初始标记->并发预清理->并发标记->重新标记->并发清理->并发重置
D. 初始标记->并发标记->重新标记->并发预清理->并发重置->并发清理
6、下列哪种情况会导致持久区jvm堆内存溢出(D)
A. 循环上万次的字符串处理
B. 在一段代码申请上百M甚至上G的内存
C. 不断创建对象
D. 使用CGLIB技术直接操作字节码运行,生成大量的动态类
7、java.util.Comparator体现的设计模式是(B)
A. Decorator
B. Strategy
C. Interpreter
D. Command
8、什么样的数据结构被使用在功能redo-undo上?
(D)
A. queue
B. Tree
C. Graph
D. stack
9、以下程序的输出是?
(A )
publicclassleftshift_operator{
publicstaticvoidmain(Stringargs[]){
bytex=64;
inti;
bytey;
i=x<<2;
y=(byte)(x<<2);
System.out.print(i+""+y);
}
}
A. 256 0
B. 0 256
C. 64 0
D. 0 64
10、以下程序的运行结果是(D)
publicstaticvoidmain(Stringargs[]){
Threadt=newThread(){
publicvoidrun(){
pong();
}
};
t.run();
System.out.print("ping");
}
staticvoidpong(){
System.out.print("pong");
}
A. pingpong
B. 都不输出
C. pingpong和pongping都有可能
D. Pongping
11、以下哪个协议将数据包拆分并发送到网络中的指定地址的?
(D )
A. Proxy Server
B. DNS
C. Socket
D. TCIP/IP
12、以下说法正确的是(C )
classBaseextendsException{}
classDerivedextendsBase{}
publicclassMain{
publicstaticvoidmain(Stringargs[]){
//someotherstuff
try{
//somemonitoredcode
thrownewDerived();
}catch(Baseb) {
System.out.println("Caughtbaseclassexception");
}catch(Derivedd){
System.out.println("Caughtderivedclassexception");
}
}
}
A. 捕获baseclassexception
B. CompilerError因为derived不是异常类
C. CompilerError因为baseclassexception在derivedclass之前被捕捉
D. 捕捉derivedclassexception
13、下列程序的返回值是,其中arr[]={9,12,2,11,2,2,10,9,12,10,9,11,2}且n为arr的大小?
(B)
intfun(intarr[],intn){
intx=arr[0];
for(inti=1;i x=x^arr[i];
returnx;
}
A. 12
B. 9
C. 0
D. 2
14、哪一个关键字keywords必须用在处理异常当中?
(D)
A. finally
B. throw
C. catch
D. try
15、java中String是线程安全的吗?
(B)
A. 不是
B. 是
16、有如下程序:
String s1=newString(“abc”);
String s2=“abc”;
String s3=“a”+“bc”;
下列哪项执行结果为false(C)
A. S2=S3
B. S1.equals(s2)
C. S1=S2
D. SpareTo(s3)==0
17、下列程序完成什么功能?
(A)
intfun(intx,inty){
if(y==0)
return0;
}
A. x*y
B. x+y
C. x^y
D. x+x*y
18、新建一个流对象,下面哪个选项的代码是错误的?
(C
19、)
A. newBufferedWrite(newFileWriter(“a.txt”));
B. newObjectlnputStream(newFilelnputStream(“a.dat”));
C. newBufferedReader(newFilelnputStream(“a.dat”));
D. newGZIPOutputStream(newFileOutputStream(“a.zip”));
19、JDK新生代垃圾回收机制默认采用的是复制算法,影响该算法最关键的因素是(A )
A. 对象存活率
B. 创建新对象的频率
C. SurvivorRatio参数
D. 对象的大小
20、java.util.HashMap处理hash碰撞的方法是(A)
A. 拉链法
B. 线性探查法
C. 随机探测
D. 线性补偿探测法
二、多选题
1、以下哪些是运行时异常(ABCD)
A. java.lang.lndexOutOfBoundsException
B. java.lang.NullPointerException
C. java.util.ConcurrentModificationException
D. java.time.format.DataTimeParseException
2、以下哪些能够保证线程安全(BC )
A. 单例模式
B. java.util.Hashtable
C. synchronized
D. volatile
3、垃圾回收算法CMS的缺点有哪些(ABC)
A. 需要更大的堆空间
B. 需要更多的CPU空间
C. 不会整理、压缩堆空间
D. 增加了回收的停顿时间
4、以下哪些属于工厂模式(ABC )
A. 工厂方法模式
B. 简单工厂模式
C. 抽象工厂模式
D. 组合工厂模式
5、以下哪些语句可以正常创建Lock对象?
(ABD)
A. Locklock=newReentrantLock(true);
B. Locklock=newReentrantLock();
C. Locklock=newLock();
D. Locklock=newReentrantLock(false);
6、以下程序的输出是(AC )垃圾回收
publicclassTest{
publicstaticvoidmain(Stringargs[])throwsInterruptedException{
Testt=newTest();
//makingteligibleforgarbagecollection
t=null;
//callinggarbagecollector
System.gc();
//waitingforgctocomplete
Thread.sleep(1000);
System.out.println("endmain");
}
@Override
protectedvoidfinalize()
{
System.out.println("finalizemethodcalled");
System.out.println(10/0);
}
}
A. endmain
B. 其他所有
C. finalizemethodcalled
D. Throwjava.lang.ArithmeticException:
/byzero
7、哪些情况会触发FULLGC(ABCD)
A. 老年代空间不足
B. 统计得到的MinorGC晋升到旧生代的平均大小大于旧生代的剩余空间
C. 堆中分配很大的对象
D. CMSGC时出现promotionfailed和concurrentmodefailure
8、以下哪些是spring的事物隔离级别:
(ACD)
A. PROPAGTION_SUPPORTS
B. PROPAGATION_NESTED
C. PROPAGATION_MANDATORY
D. PROPAGATION_NEVER
9、下列关于java数组论述,正确的是:
(ABCD)
A. int[]x={0};与int[]x=newint[1];的结果是完全等价的。
B. String[]x={“o”,”k”,”ok”);所创建的数组对象含有3个串对象。
C. Int[][]x={{1},{1,2},{1,2,3},newint[1]};是正确语句。
D. 定义一个Java的多维数组变量,实际上是定义了将会指向数组对象的引用,该数组对象所包含的元素又将是另一个数组对象的引用。
10、以下哪些数据隔离级别会产生幻读(ABD)
A. ReadUncommitted
B. repeatableread
C. Serializable
D. readcommitted
三、编程题
最长公共子串
时间限制:
C/C++语言1000MS;其他语言3000MS
内存限制:
C/C++语言65536KB;其他语言589824KB
题目描述:
有两个字符串(可能包含空格),请找出其中最长的公共连续子串,输出其长度。
输入
给定两行字符串
输出
输出这两个字符串的最长公共连续子串的长度
样例输入
abcde
bcd
样例输出
3
bit位数计算
时间限制:
C/C++语言1000MS;其他语言3000MS
内存限制:
C/C++语言65536KB;其他语言589824KB
题目描述:
两个int32整数m和n的二进制表达,计算有多少个位(bit)不同?
输入
一行中给定两个数字
输出
输出这两个数字中bit不同的个数
样例输入
158
样例输出
3
xxx美图客户端秋招试题
一、选择题
1、以下程序的运行结果是B
A233
B224
C344
D223
2、指出下列程序运行的结果()C
Atestokandgbc
Btestokabdabc
Cgoodandgbc
Dgoodandabc
3、下列程序片段的输出结果,说法正确的是D
A1
B有错误,变量i没有初始化
Cnull
D0
4、继承中,关于构造方法的说明,下列说法错误的是()D
A子类无条件的继承父类的无参构造方法
B子类可以引用父类中的有参构造方法,使用super关键字
C如果子类没有构造方法,则父类无参构造方法作为自己的构造方法
D如果子类有无参构造方法,而父类无参构造方法则被覆盖
5、intent传递数据时,下列数据类型哪些可以被传递()ABCD
Acharsequence
Bserializable
Cparecaelable
Dbitmap
xxx美图前端秋招试题
一、不定项选择题
1.下列css中的单位,描述正确的是D
A. rem:
是相对于父级标签font-size的相对单位
B. px:
是相对于显示器屏幕分辨率的绝对长度单位
C. em:
是相对于html标签font-size的相对单位
D. vw:
是相对于视窗宽度的相对单位
2.以下元素属于行为行内元素的是C
A.
B.
C.
D. ![]()
3.以下代码的执行结果是B
A. 012010002000
B. 010002000333
C. 001100022000
D. 333200020002000
4.以下代码的执行结果是B
!
!
(0==false)
!
!
(0==undefined)
A. falsefalse
B. truefalse
C. falsetrue
D. truetrue
5.[“1”,”2”,”3”].map(parseInt)执行后的结果是C
A. [“1”,”2”,”3”];
B. [NaN,NaN,NaN];
C. [1,NaN,NaN];
D. [1,2,3];
6.以下代码的执行结果是A
A. 12undefined
B. undefined2undefined
C. 121
D. undefined21
E. 122(此选项为新增,因上述选项均错误)
二、简答题
1.分别介绍常见的跨域解决方案及原理(不少于2种)
2.请说说你常使用的ES6新特性
3.请简述下你所知道的前端性能优化方法
三、编程问答题
1.有如下列表的DOM结构,需要在点击时获取对应的innerHTML;
要求:
不能修改DOM
使用原生javascript
考虑js性能
2.vararr1=[1,1,1,2,3,3,4,5,6],arr2=[4,4,4,5,5,6,7,8,8,9];完善上面的代码,实现数组合并、去重:
arr=[1,2,3,4,5,6,7,8,9]
3.从字符串”com.meitu.mtxx/6.8.0(ios10.2)/lang:
zh”中取出6.8.0
4.请使用原生JS实现如下代码:
varobj=$.extend(true,obj1,obj2);
展开阅读全文