一面:1h1. 单例模式知道不,写一个2. 智能指针讲一下,shared_ptr循环引用怎么就会内存泄露呢?weak_ptr源码有看过吗?3. 内存模型4. 栈和堆的效率5. 堆和找的区别6. 数组和链表的区别 反问二面:1h1. 讲讲你这项目你做的工作。2. 又是一个项目,你是怎么想的,怎么设计的...
1、请你说一下Java中的IO流?以及他们的分类和作用?IO 流的分类:按照数据流的方向的不同,可以分为输入流和输出流;按照处理数据单位的不同,可以划分为字节流和字符流;按照流的实现功能的不同,可以划分为节点流和处理流;Java Io流共涉及40多个类,这40多个类都是从如下4个抽象类基类中派生出来...
在Vue3中创建响应数据有两种方式一种是ref,另一种就是reactivereactive首先在该组件引入import { ref, reactive } from "vue"; <template> <div> <p>姓名:{{obj.name}}&l...
我们负责的一个业务平台,有次在发现设置页面的加载特别特别地慢,简直就是令人发指让用户等待 36s 肯定是不可能的,于是我们就要开启优化之旅了。 投石问路既然是网站的响应问题,可以通过 Chrome 这个强大的工具帮助我们快速找到优化方向。通过 Chrome 的 Network 除了可以看到接口请求耗...
一、索引概述1. 简介索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。举例说明索引:如果把数据库中的某一张看成一本书,那么索引就像是书的目录,可以通过目录快速查找书中指定内容的位置,对于数据库表来说,可以通过索引快速查找表中的数据。2. 索引的原理索引一...
Mysql索引索引介绍索引是什么官方介绍索引是帮助MySQL高效获取数据的数据结构。更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度。一般来说索引本身也很大,不可能全部存储在内存中,因此索引往往是存储在磁盘上的文件中的(可能存储在单独的索引文件中,也可能和数据一起存储在数据文件中...
阿里一面自我介绍,聊项目, 这边挺常规的,从项目入手。解析Excel为什么用POI ? POI存在的问题?还知道哪些解析Excel的工具吗?你们项目中用过MQ,平时都用MQ来做什么?你处理过MQ得幂等问题,当时是怎么做的?MQ的可靠性怎么保证?redis你们都用来做什么?redis的持久化机制?怎么...
写在前面本文主要探讨MySQL InnoDB 引擎下ACID的实现原理,对于诸如什么是事务,隔离级别的含义等基础知识不做过多阐述。ACIDMySQL 作为一个关系型数据库,以最常见的 InnoDB 引擎来说,是如何保证 ACID 的。(Atomicity)原子性:事务是最小的执行单位,不允许分割。原...
1、kafka是什么?Kafka是由LinkedIn开发的一个分布式基于发布/订阅的消息系统,使用Scala编写,它以可水平扩展和高吞吐率而被广泛使用。2、产生背景Kafka是一个消息系统,用作LinkedIn的活动流(Activity Stream)和运营数据处理管道(Pipeline)的基础。活...
在开发及调试的过程中,需要比对新旧代码的差异,我们可以使用git/svn等版本控制工具进行比对。而不同版本的数据库表结构也存在差异,我们同样需要比对差异及获取更新结构的sql语句。例如同一套代码,在开发环境正常,在测试环境出现问题,这时除了检查服务器设置,还需要比对开发环境与测试环境的数据库表结构是...
1.是否可以编译通过?如果通过,输出什么?func main() {i := GetValue() switch i.(type) {case int:println("int")case string:println("string")case interface{}:println("inter...
怎么避免内存逃逸?怎么答在runtime/stubs.go:133有个函数叫noescape。noescape可以在逃逸分析中隐藏一个指针。让这个指针在逃逸分析中不会被检测为逃逸。 // noescape hides a pointer from escape analysis. noesca...
第1题什么是golang?go是一个开源的编程语言,由谷歌开发的。这门语言是设计用来做系统级的编程的。第2题为什么要用golang?简单点说就是go是一个开源的编程语言,它很容易用来编写简单, 可靠,有效的软件。第3题是谁开发了go语言?Robert Griesemer, Rob Pike, K...
9. 下面的迭代会有什么问题?func (set *threadSafeSet)Iter()<-chaninterface{} { ch := make(chaninterface{}) gofunc() { set.RLock() ...
13. 【初级】 Golang不支持自动垃圾回收()参考答案:F 14. 【初级】 Golang支持反射,反射最常见的使用场景是做对象的序列化()参考答案:T 15. 【初级】 Golang可以复用C/C++的模块,这个功能叫Cgo()参考答案:F 16. 【初级】下面代码中两个斜点之间的代码,...
65. 【中级】如果Add函数的调用代码为:66. func main() {67. var a Integer = 168. var b Integer = 269. var i interface{} = a70. sum := i.(Integer).Add(b)71. fmt.Print...
1. 【初级】下面属于关键字的是()A. funcB. defC. structD. class参考答案:AC 2. 【初级】定义一个包内全局字符串变量,下面语法正确的是()A. var str stringB. str := ""C. str = ""D. var str = ""参考...
1. 下面代码能运行吗?为什么type Param map[string]interface{}type Show struct { Param}func main1() { s := new(Show) s.Param["RMB"] = 10000}运行结果:panic: a...
golang 基础1.切片实现原理,切片中的指针是存储在堆上还是栈上?切片的使用有哪些坑?2.map的实现原理?详细说一下拉链法?map是协程安全的吗?3.sync.Map的实现原理?4.写一个 golang 的单例实现?5.golang IO 是同步的吗?如果 CPU 只有一核会不会阻塞?6....
1. LVS相关了解.LVS是 Linux Virtual Server 的简称,也就是Linux虚拟服务器。这是一个由章文嵩博士发起的一个开源项目,它的官方网站是LinuxVirtualServer现在 LVS 已经是 Linux 内核标准的一部分。使用 LVS 可以达到的技术目标是:通过 L...