发动态

没有新消息

更多内容

花事、
#58集团面试经验#【后台面试流程】 我面试的是后台,一共分为两次,第一次注重简单的自我介绍和经验,第二次注重于工作上理论应用。 初次面试:自我介绍、JVM内存模型、GC收集算法(标记清除,标记整理,复制)、GC收集器,详细询问了CMS和G1 SpringBoot的优势、实现多线程同步的方式(继承Thread,实现Runnable,实现Callable)。 关于经验上问题: 1.设计模式,实现场景区别是什么? 2.继承类的只能用CGlib的动态代理,实现接口的都能用是为什么?JDK的动态代理, 3.被代理类需要继承Proxy,Java只支持单继承,CGlib是通过修改字节码来继承被代理类,对方法进行重写。 算法题:一个大数组,一个小数组,在内存不够大的条件下找到两者的交集。 附加问题:如果可以丢失精度,使用什么数据结构比较合适? 二次面试: 1.Sychronized和Lock和区别? 2.ArrayList和LinkedList的区别? 3.TCP的流量控制(滑动窗口)? 4.滑动窗口使怎么变大变小的? 5.JVM的full gc什么时候发生,需要STW么? 6.JVM的老年代存放什么对象? 7.查看JVM对象占用空间的方法是什么?

8157阅读

3赞

评论

0 条评论

暂无评论,快来写下您的评论

推荐阅读

有两种实现方法,分别是继承Thread类与实现Runnable接口。继承Thread 可直接用对象.start()方法启动线程,实现Runnable接口的可以定义一个Thread类的对象,通过构造方法把实现Runnable接口的类的对象初始化进去,用Thread类对象.start()方法启动线程。

2151阅读
6赞
1评论

#新浪面试经验#【新浪前端两轮面试问题记录,已拿下!】 前天收到了新浪的offer,给大家分享一下我的面试问题,造福后人。 一面: 1、详细讲一下let和var的区别有哪些? 2、箭头函数的使用场景有哪些?举例说明 3、promise的all方法和race方法的主要功能和使用场景是什么? 4、分别讲讲组合继承和寄生组合继承的优点和缺点; 5、列举五种CC可继承和不可继承的属性; 6、angular如何进行父子组件传值,兄弟组件又是怎样的? 7、有用过svg吗,svg和canvas的区别是什么?手势签到你是怎么做的? 二面: 1、节流和防抖可以如何实现,他俩的根本区别在哪儿?在代码上是如何体现的? 2、看你简历,你擅长对性能的优化,你能举例详细讲讲吗? 3、怎么用原生js实现拖拽,说一下思路就ok; 4、一个滚动条怎么实现,代码大概说一下就行; 5、了解前端跨域吗?jsonp如何实现?有啥缺陷? 大概就这些问题,难度不是特别高,很注重基础,每场面试大概40分钟,稳住就能过。

3742阅读
9赞
0评论

从更深层次的技术层面上来看,因为Spring是基于Java语言的应用平台,如果我们能够对作为Spring的运行环境的Java计算模型(比如JVM的实现原理)有一些了解,将会加深我们对Spring实现原理的理解。反射机制、代理类、字节码技术等这些JVM特性都是在Spring实现中会涉及的一些Java计算环境的底层技术。一般的应用开发人员可能不会直接从事与JVM底层实现相关的工作,但是这些计算环境的底层知识对我们深入理解Spring是不可缺少的。

1947阅读
9赞
0评论

GC(Garbage Collection)是垃圾收集的意思,负责清除对象并释放内存。Java 提供的 GC 功能可以自动检测对象是否超过作用域从而达到自动回收内存的目的,从而防止内存泄漏。

970阅读
0赞
0评论

#新浪面试经验#【简述面试前端开发的经历】 一面: 1、es6基础, let和 var之间的差异; 2、方向函数的用法场景; 3、race方法和all方法的使用场景及 promise的主要功能; 4、JS的继承,组合继承和寄生组合继承的利弊; 5、你是怎么做到的, websocket上有其它使用场景吗? 6、可继承和不可继承的 css属性分别列出5种; 7、快排原则; 8、VUE的路由; 9、gular如何父子组件传递值,兄弟组件如何传递? 10、如何实现 vue的双向绑定以及原理是什么? 11、您在 tx项目中是如何使用d3. js的,以及后端是如何协作的,给我一个场景来描述; 12、你会 svg吗,和 canvas有什么不同?手语记录你是怎么做的? 二面: 1、开始问我什么时候能来实习,实习多久? 2、您如何实现节流和防抖,它们之间的根本区别在哪里,代码如何体现? 3、css的bfc有了解吗,知道它们在什么情况下可以实现,还有关于清除浮点的方法是什么? 4、你对前端了解多少, jsonp是如何实现的,他有什么缺点? 5、各复制各有道理,各复制各有什么缺点呢 6、代码大致说明一下,如果让您自己实现一个滚动条如何实现? 7、日程表如何编写,请详细说明该控件? 8、您说您正在比较性能优化,您列举了几个 9、谈一谈如何用本地 js实现一个拖拉 10、阵列去列举两个方法,还有别的吗?是否有第三种方式? 面试不难但比较重视基础,每场大约有40分钟。

3003阅读
5赞
0评论

POJO是一个简单的普通的Java对象,它不包含业务逻辑或持久逻辑等,但不是JavaBean、EntityBean等,不具有任何特殊角色和不继承或不实现任何其它Java框架的类或接口。

1056阅读
1赞
0评论

Java 中,抽象类和接口有很多不同之处,但是最重要的一个是 Java 中限制一个类只能继承一个类,但是可以实现多个接口。抽象类可以很好的定义一个家族类的默认行为,而接口能更好的定义类型,有助于后面实现多态机制。

1003阅读
1赞
0评论

为了判断Java中是否有内存泄露,我们首先必须了解Java是如何管理内存的。Java的内存管理就是对象的分配和释放问题。在Java中,程序员需要通过关键字new为每个对象申请内存空间 (基本类型除外),所有的对象都在堆 (Heap)中分配空间。另外,对象的释放是由GC决定和执行的。在Java中,内存的分配是由程序完成的,而内存的释放是有GC完成的,这种收支两条线的方法确实简化了程序员的工作。但同时,它也加重了JVM的工作。这也是Java程序运行速度较慢的原因之一。因为,GC为了能够正确释放对象,GC必须监控每一个对象的运行状态,包括对象的申请、引用、被引用、赋值等,GC都需要进行监控。

759阅读
2赞
0评论

重载和重写都允许你用相同的名称来实现不同的功能,但是重载是编译时活动,而重写是运行时活动。你可以在同一个类中重载方法,但是只能在子类中重写方法。重写必须要有继承。

574阅读
3赞
0评论