总结
为了帮助大家更好温习重点知识、更高效的准备面试,特别整理了《前端工程师面试手册》电子稿文件。
内容包括html,css,JavaScript,ES6,计算机网络,浏览器,工程化,模块化,Node.js,框架,数据结构,性能优化,项目等等。
包含了腾讯、字节跳动、小米、阿里、滴滴、美团、58、拼多多、360、新浪、搜狐等一线互联网公司面试被问到的题目,涵盖了初中级前端技术点。
前端面试题汇总
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
JavaScript
性能
linux
public class OuterClass{
private float f=1.0f;
//插入代码到这里
}
A.class InnerClass{
public static float func(){return f;}
}
B.abstract class InnerClass{
public abstract float func(){}
}
C.static class InnerClass{
protected static float func(){return f;}
}
D.public class InnerClass{
static float func(){return f;}
}
★为了给大家思考的空间,答案放在在下一题下方!
☝第五题解析(喜欢就点赞收藏起来趴♥♥♥)
答案: D
编译看左边,运行看右边。也就是是编译的时候会把它当成左边的类型,运行的时候看右边类型的方法体。
父类型引用指向子类型对象,无法调用只在子类型里定义的方法
7、以下代码的运行结果是什么( )
class Supper{
public int get()
{
System.out.println("Supper");
return 5;
}
}
public class Sub{
public int get()
{
System.out.println("Sub");
return new Integer("5"); }
public static void main(String args[]) {
new Supper().get();
new Sub().get(); }
}
A.Supper Sub
B.Supper 5 Sub
C.Supper 5 5 Sub
D.Supper Sub 5 5
★为了给大家思考的空间,答案放在在下一题下方!
☝第六题解析(喜欢就点赞收藏起来趴♥♥♥)
答案: A B C D
A 静态内部类中才能含有静态属性,静态方法当中不能引用非静态变量。
B 抽象类不能有方法体。
C 静态方法当中不能引用非静态变量
D 静态方法当中不能引用非静态变量
8、java用()机制实现了线程之间的同步执行
A.监视器
B.虚拟机
C.多个CPU
D.异步调用
★为了给大家思考的空间,答案放在在下一题下方!
☝第七题解析(喜欢就点赞收藏起来趴♥♥♥)
答案: A
要相信自己,明明都没有打印返回值,哪来的5
9、以下哪个式子有可能在某个进制下成立()
A.13*14=204
B.12*34=568
C.14*14=140
D.1+1=3
★为了给大家思考的空间,答案放在在下一题下方!
☝第八题解析(喜欢就点赞收藏起来趴♥♥♥)
答案: A
首先jvm中没有进程的概念 ,但是jvm中的线程映射为操作系统中的进程,对应关系为1:1。那这道题的问的就是jvm中线程如何异步执行。在jvm中 是使用监视器锁来实现不同线程的异步执行,在语法的表现就是synchronized 。
10、下列说法正确的是()?
A.我们直接调用Thread对象的run方法会报异常,所以我们应该使用start方法来开启一个线程
B.一个进程是一个独立的运行环境,可以被看做一个程序或者一个应用。而线程是在进程中执行的一个任务。Java运行环境是一个包含了不同的类和程序的单一进程。线程可以被称为轻量级进程。线程需要较少的资源来创建和驻留在进程中,并且可以共享进程中的资源
C.synchronized可以解决可见性问题,volatile可以解决原子性问题
D.ThreadLocal用于创建线程的本地变量,该变量是线程之间不共享的
★为了给大家思考的空间,答案放在在下一题下方!
☝第九题解析(喜欢就点赞收藏起来趴♥♥♥)
答案: A
(3+x)*(4+x)=2x^2+4
.....x=8或-1
11、在Spring事务的ISOLATION_REPEATABLE_READ隔离级别下,有可能出现以下哪种情况( )
A.脏读
B.幻读
C.不可重复读
D.都有可能发生
★为了给大家思考的空间,答案放在在下一题下方!
☝第十题解析(喜欢就点赞收藏起来趴♥♥♥)
答案: B D
A:可以直接调用run方法, 但就起不到多线程的目的了。A选项错在调用Thread的run方法不会抛出异常。
C:volatile不能保证原子性问题
12、下面代码创建了多少个对象()
String s = "a"+"c"+"+"d"
A.1
B.2
C.3
D.4
★为了给大家思考的空间,答案放在在下一题下方!
☝第十一题解析(喜欢就点赞收藏起来趴♥♥♥)
答案: B
ISOLATION_REPEATABLE_READ隔离级别下,对同一字段的多次读取结果都是一致的,除非数据是被本身事务自
己所修改,这种隔离级别可以阻止脏读和不可重复读,但幻读仍有可能发生。
13、以下哪些类是线程安全的()
A.Vector
B.HashMap
C.ArrayList
D.StringBuffer
E.Properties
★为了给大家思考的空间,答案放在在下一题下方!
☝第十二题解析
如果你比较一下Java源代码和反编译后的字节码文件,就可以直观的看到答案,只创建了一个String对象。
关于这个问题很多人面试的时候都遇见过,我看了网上很多论坛对于这个问题都是不统一的。有的人说创建了一个对象,有的人说创建了五个对象,也有的人说创建了两个对象。
先说说创建一个的吧。当初面试的时候我跟面试官说创建了一个,他用非常疑惑的语气告诉我说,不只是一个哦,然后这道面试题我就被pass掉了。好在过了技术面试了,但是对于这个问题我还是耿耿于怀,直到后来我看了《深入理解JVM》这本书之后有种豁然开朗的感觉。
其实网上的很多大佬们说创建了一个对象,这个答案是没有问题的!!!
但是面试的时候为什么会被说是错误的呢?其实面试官真正想问的并不是这个,而是你对于JDK版本的理解,不同的JDK版本对于字符串常量池有不同的优化!!感兴趣的自己再去查查吧!这里就不多阐述了
14、下列java程序的输出结果为()。
public class Example{
String str=new String("hello");
char[]ch={'a','b'};
public static void main(String args[]){
Example ex=new Example();
ex.change(ex.str,ex.ch);
System.out.print(ex.str+" and ");
System.out.print(ex.ch);
}
public void change(String str,char ch[]){
str="test ok";
ch[0]='c';
}
}
A.hello and ab
B.hello and cb
C.hello and a
D.test ok and ab
E.test ok and cb
F.test ok and c
☝第十三题解析
答案:ADE
A,Vector相当于一个线程安全的List
B,HashMap是非线程安全的,其对应的线程安全类是HashTable
C,Arraylist是非线程安全的,其对应的线程安全类是Vector
D,StringBuffer是线程安全的,相当于一个线程安全的StringBuilder
E,Properties实现了Map接口,是线程安全的
源码看下图所示
15、下列有关Servlet的生命周期,说法不正确的是?
A.在创建自己的Servlet时候,应该在初始化方法init()方法中创建Servlet实例
B.在Servlet生命周期的服务阶段,执行service()方法,根据用户请求的方法,执行相应的doGet()或是doPost()方法
C.在销毁阶段,执行destroy()方法后会释放Servlet 占用的资源
D.destroy()方法仅执行一次,即在服务器停止且卸载Servlet时执行该方法
☝第十四题解析
答案:B
解析如下图所示
16、以下关于JAVA语言异常处理描述正确的有?()
A.throw关键字可以在方法上声明该方法要抛出的异常。
B.throws用于抛出异常对象。
C.try是用于检测被包住的语句块是否出现异常,如果有异常,则捕获异常,并执行catch语句。
总结
为了帮助大家更好温习重点知识、更高效的准备面试,特别整理了《前端工程师面试手册》电子稿文件。
内容包括html,css,JavaScript,ES6,计算机网络,浏览器,工程化,模块化,Node.js,框架,数据结构,性能优化,项目等等。
包含了腾讯、字节跳动、小米、阿里、滴滴、美团、58、拼多多、360、新浪、搜狐等一线互联网公司面试被问到的题目,涵盖了初中级前端技术点。
前端面试题汇总
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
JavaScript
性能
linux