面试问题浓缩总结 面试问题浓缩总结
  • Go
  • Java
  • C/C++
  • JavaScript/HTML
  • MySQL
  • Redis
  • MongoDB
  • 操作系统
  • 计算机网络
  • spring全家桶
  • mybatis
  • 中间件
  • 软件相关
  • 系统相关
  • 算法
  • 数据结构
  • 设计模式
  • CMU硕士经典100题
  • 剑指offer
  • 重点手撕代码
  • 程序员面试金典
  • 3月
  • 4月
  • 智力题
  • 业务问题
  • 一些技术
  • 安全相关
APP下载 (opens new window)
GitHub (opens new window)
  • Go
  • Java
  • C/C++
  • JavaScript/HTML
  • MySQL
  • Redis
  • MongoDB
  • 操作系统
  • 计算机网络
  • spring全家桶
  • mybatis
  • 中间件
  • 软件相关
  • 系统相关
  • 算法
  • 数据结构
  • 设计模式
  • CMU硕士经典100题
  • 剑指offer
  • 重点手撕代码
  • 程序员面试金典
  • 3月
  • 4月
  • 智力题
  • 业务问题
  • 一些技术
  • 安全相关
APP下载 (opens new window)
GitHub (opens new window)
  • 3月份面试

  • 4月份面试

    • 字节跳动(一面)
    • 面试稿子
    • 蘑菇街(一面)
    • 牛客面经总结
    • 腾讯(一面)
    • 字节(二面)
    • 阿里(一面)
    • 汉得(一面)
    • 腾讯(二面)
    • 腾讯(三面)
    • 同学的面试
  • 个人面试
  • 4月份面试
小游
2021-04-10

牛客面经总结

特地在牛客上看了100多篇面经,目的就是为了看一下go到底能问多少东西。这一轮看下来发现东西还是很多的,有些东西不好整理,所以我就统一放这里了

  • [x] Linux 中文本处理的命令?

    (Linux基础 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window))

  • [x] 怎么查看某个进程(tomcat)的进程号?输出只包含该进程的一行信息

    (Linux面试 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window))

  • [x] grep 命令的作用是什么?TCP的四次挥手?TIME-WAIT 和 CLOSE-WAIT 的意义?

    grep 这个是查找字符串的,一般用于过滤符合条件的字符串

    TIME-WAIT 和 CLOSE-WAIT参考运输层(TCP,UDP) | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] Linux 中如何读取文件的倒数 n 行?

    Linux面试 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] tail 命令具体如何实现?

    tail -f 可实时查看日志

  • [x] 你设计操作系统,会实现文件的哪些系统调用?

    系统调用参考 其他 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] 你想了解文件相关的系统调用,你会做什么尝试?

    这个和上面的是同一个通信,这里就不多说了

  • [x] Socket 编程中 Server 端的流程

    其他 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] make原理

    这个是自动化编译的东西了,我这里就只贴个链接

    make命令的工作原理与使用方式【转】 - 小天儿 - 博客园 (cnblogs.com) (opens new window)

  • [x] 分布式CAP模型

    其他 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] linux io流程(应用、文件系统、内核、硬件)

    IO管理 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] 程序编译的流程、执行的流程、内部形态(深入理解计算机系统中有)

    其他 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [ ] JVM I\O时操作系统发生了什么当写一个程序申请内存时,会做哪些操作?中断,页面置换,堆,栈等。一个程序从写的代码文件到最后输出结果,中间经历的整个过程是怎么样的?编译连接装入以及内存的一些相关操作。A要给B发送数据,中间经历了哪些流程,从传输到从网卡整个来说一下。网络连接,传输层,中断,内核态用户态,IO多路复用。

    这个实在太底层了,打扰了。。。。

  • [x] 一致性hash,虚拟节点作用,为什么一致性hash是一个环。

    参考系统相关=》分布式系统相关

  • [x] 10g乱序文件找中位数,思路即可。你的思路算法 (opens new window)的瓶颈在哪,是内存排序 (opens new window),还是读写磁盘文件?

    海量数据中寻找中位数 - 知乎 (zhihu.com) (opens new window)

  • [x] linux怎么管理内存?扯虚拟内存格式,malloc,缺页中断,页表,换出算法 (opens new window)(FIFO、LRU、CLOCK)等等。

    内存管理 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] stack里面保存什么?

    栈区:就是那些由编译器在需要的时候分配,在不需要的时候自动清除变量的存储区。里面的变量通常是局部变量、函数参数等。特点:由系统的编译器自动的释放,主要用来存放方法中的参数,一些临时的局部变量等,并且方法中的参数一般在操作完后,会由编译器自动的释放掉。

    什么叫做栈区,堆区,全局区,静态区,代码区,常量区,自由存储区?_cow_dake-CSDN博客 (opens new window)

  • [x] 协程怎么停顿?

    好像没找到相关的东西。只找到一个协程的停止

  • [x] mysql有哪几种日志?一般可能答个redo undolog可能就完事了,但真的有那么简单吗?完全可以继续说有中继日志慢查询日志错误日志查询日志等,然后继续扯下去(中继日志扯到主从同步,慢查询日志扯到sql调优),让面试官觉得就算你是背的也是背透了,你的知识面是能够发散的。

    这个也不错,到时候补充一下

    MySQL底层 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [ ] 微服务RPC下,发现使用TCP的效率比UDP高,可能是什么原因

    这个其实用的不多,先不管

  • [x] 客户端和服务端建立socket连接的过程,相关的方法名

    其他 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] 写多生产者多消费者模型

    多线程必考的「生产者 - 消费者」模型,看齐姐这篇文章就够了 - SegmentFault 思否 (opens new window)

  • [x] IO 密集型和 CPU 密集型如何分配线程优先级

    CPU密集型多分配一下

  • [x] 有对项目 (opens new window)和系统做性能测试吗?(benchmark 和 pprodf)

  • [x] sql 执行慢,是什么原因,怎么解决

    可能是网络原因,也可能是数据量太大的原因

  • [ ] 直播房间,一个大V发了一条消息,如何让上千万的粉丝收到这条消息,如果只是纯粹的广播会很耗资源

    找不到、、、、

  • [ ] 分布式缓存:如果客户端 (opens new window)想保存热点数据,如何设计?

  • [x] 在线写一个LRU

    面试问的一些算法 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] TCP SYN 攻击

    网络安全 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] 一次普通 IO 的过程,什么时候用到了系统调用

    读取文件的时候就会用到

    参考下面这个:其他 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] 介绍下 IO 多路复用

    IO管理 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] read 在三者中是用户发起还是内核发起?(用户发起)

  • [x] 介绍右值,完美转发

    这是C++的的东西,打扰了

    右值, 移动语义与完美转发 - 知乎 (zhihu.com) (opens new window)

  • [x] go协程,怎么实现,底层怎么实现

    这里主要回答一下GMP调度模型

    面试问题 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] map的源码 (opens new window)最重要

    数据结构 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] GMP中,M的数量怎么控制,P呢?

    M通过GOMAXPROCS来设置,P和这个值是一样的

  • [x] 哈希表 (opens new window),拉链法,开放地址法,大量冲突怎么优化

    数据结构 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] fork时内核中发生了什么

    fork是创建子进程的

  • [x] 能不能申请一块比物理内存大的存储区域

  • [x] 索引树遍历的过程

    这个估计不会问

  • [x] 一百万条数据,索引树多高

    3层左右,不会太高

  • [x] 索引树高于 4 层怎么办

    这个时候说明你存储的数据实在太多了,需要分表或分页

  • [x] mmap地址映射

    内存管理 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] tcp四次挥手,time_wait,2MSL

    运输层(TCP,UDP) | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] docker的网络模式,docker如何处理容器网络访问?

    有4中: Docker | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] traceroute实现原理

    Linux面试 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] 介绍一下ICMP协议

    报文控制协议

  • [x] 假设没有time_wait,一个新的连接起来了,旧的报文会到达到这个连接里吗

    可能会

  • [x] go是如何实现map的

    参考map的底层原理数据结构 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] 哈希表 (opens new window)的时间复杂度、空间复杂度

    哈希表的插入/删除/查找都是O(1)的时间复杂度

  • [x] SSL的基本原理

    这个其实就是https建立连接的过程

  • [x] 线程怎么调度

    感觉有点像进程调度。。。

    进程和线程 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] tcp 可靠性,然后问十六位校验和怎么实现的

    运输层(TCP,UDP) | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] 链表 (opens new window)怎么检查环,怎么算环的长度

    使用快慢指针

    双指针法 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] 跳表怎么实现

    跳表是Redis里面的东西

    数据类型 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] top K问题

  • [ ] CodeTop企业题库 (opens new window) 这个网站多去看看

  • [x] 虚拟内存,共享内存,常驻内存

    面试问题整理 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] 文件和目录的区别、

    其他 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] 了解过 QUIC 吗

    快速UDP互联网协议

  • [x] https 最耗时的环节

    其实就是SSL建立的过程,因为涉及到加解密和验证证书,所以非常耗时

  • [x] string 从 "abc" 到 "abcd",如何分配内存的

    会新建一个对象

    面试题 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] 有看过 unsafe 包吗

    其他 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] 说一下 string 和 []byte 的高效转换

    String转byte[],就是先转ASCII码,然后再转成二进制,如,A->65->65的二进制表示.

  • [x] explain 执行计划

    SQL语句及优化 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] ipv4 和 ipv6

    网络层(IP,ICMP,ARP) | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] 地址空间是什么

    面试问题整理 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] sessionId 如何维护(cookie 里带有 sessionId)

  • [x] xss 和 csrf

    前端 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] Go的数据结构的零值是什么

    面试问题 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] Where和Having的区别

    高频面试题 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] docker镜像特点,删除容器中的文件,镜像会变小吗?为什么?

    删除容器中的文件不会影响镜像大小

  • [x] resourceVersion的意义,如何处理其在cache(informer)与api server的不同步造成死循环。

    这东西是K8S的。。。所以就不管了

  • [x] Memory 和 CPU 超过resource Limit会发生什么?(只知道Memory的,会被OOM kill掉)

    这个也是一样

  • [x] scheduler调度器的实现细节。

    。。。没用过

  • [x] 介绍pulsar(吹了半天)

  • [x] k8s了解一下

  • [x] replicaset、daemonset、statefulset的概念

    也是K8S里面的。。。

  • [x] 一个pod从请求到实际启动的过程

    K8S

  • [x] 讲讲HTTP与HTTPS的区别;TLS是哪一层;HTTPS的连接流程是怎样;

    HTTPS使用了SSL协议来进行传输。。。连接流程实际上就是

  • [x] TCP滑动窗口,发送窗口,接收窗口;

    运输层(TCP,UDP) | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] 手写了两个SQL的查询。用到了order by, limit, having, count, avg, desc这些关键字;面试官问,SQL查询语句中关键字的执行顺序是什么

    高频面试题 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] DNS的过程,DNS劫持是什么;

    网络安全 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] TOPK算法 (opens new window),找出一个未排序 (opens new window)数组中第K大的数;

  • [x] webserver 线程和进程(webserver不会)

    没太搞懂这个是干啥的

  • [x] zset底层

    使用跳表来实现

  • [x] 半连接状态的协议

    运输层(TCP,UDP) | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] while(tree) {sleep(1)} 这个会有什么问题

    面试题 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] sync pool底层实现

    其他 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] 三次握手详细过程?SYN攻击底层原理是什么?(要答到内核的半连接队列)

    这个可以参考上面的

  • [ ] 四次挥手TIME_WAIT状态作用?为什么是2MSL?MSL和TTL什么关系?

  • [ ] 服务器大量TIME_WAIT状态,危害是什么?

  • [ ] 两次GC周期重叠会引发什么问题,GC触发机制是什么样的?

  • [ ] 空slice和nil的slice区别?能直接append吗?扩容?

  • [ ] 知道go的伪抢占式调度吗?新版本?举个goroutine泄漏的例子?

  • [ ] 你知道的影响server并发的内核参数有哪些?TCP选项有哪些?描述一下

  • [ ] 你提到了优雅关闭tcp连接,说一下shutdown和close?

  • [ ] LVS原理?LVS为什么主备?多主用过吗?为什么不直接让nginx挂在外面呢?

  • [ ] 讲讲web服务器常用技术?

  • [x] Go string底层实现?

    数据结构 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [ ] 那你这个用unsafe.Pointer和uintptr的方案,不会有问题吗?string少的那个cap字段怎么填充?(我答可能GC会有点影响,因为unsafe.Pointer指向的对象不会被GC回收了)

  • [ ] 了解HTTP协议吗?golang HTTP库实现?

  • [ ] 那如果用户在并发CMS期间改了引用,写屏障如何保证三色不变性?(继续懵逼)

  • [x] 那你说下interface底层实现?(我心态炸裂)

    语言基础 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] A B C D E 海盗,他们要瓜分 100 个金币。A B C D E,轮流提议,提议的人需要获得半票以上包括半票,不然就会被杀死,下一个继续提议,你是 A 会怎么分配

  • [ ] 服务器server怎么把cookie设置到浏览器的

  • [ ] MSL生命周期怎么控制的,怎么确定MSL的时间

  • [ ] 快照具体是怎么实现的

  • [ ] string怎么维护的 不知道

  • [ ] HashMap put过程

  • [ ] 给了一个建立了主索引和二级索引的表(InnoDB),where条件命中二级索引,问总共走了几次索引

  • [ ] 用过gdb没有。我说没有。他再问有没用过pprof,我就扯了一下pprof。

  • [ ] go 闭包

  • [ ] TCP 半连接队列

  • [ ] TCP 半关闭状态

  • [ ] 两个人抛硬币,先抛到正面的赢,问先后手的胜率是多少。

  • [ ] 进程fork的copy on write相关的

  • [ ] redis (opens new window)和etcd的区别

  • [ ] Grpc的过程

  • [ ] linux统计字符出现的个数

  • [ ] linux 查找当前文件后20行

  • [ ] fasthttp为什么快

  • [ ] pprof使用

  • [ ] Mysql是如何进行后期优化的?

  • [ ] Mysql的Join的计算的算法 (opens new window)?(nested_loop ,但是当时没怎么记住,回答了Spark的Hash Join 和 Sort-based Join)

  • [ ] 多级索引,最左匹配

  • [ ] LSM Tree的优缺点,怎么进行优化?

  • [ ] go Map sync.Map是不是并发安全的?

  • [ ] Spark与Hadoop的区别。

  • [ ] 控制反转和依赖注入区别?

  • [ ] 爬楼梯 => 不允许到达7的倍数层 => 优化为线性(不能使用动态规划 (opens new window))

  • [ ] 什么是网关,网关的作用,限流的算法 (opens new window):固定/滑动窗口,消息队列,令牌桶。消息队列怎么限流,消费方如何返回给消息生产方。

  • [ ] Linux的 watch和ctrl+c是怎么实现的

  • [ ] Exception细分,RuntimeException和普通Exception区别

  • [ ] 元注解是什么

  • [ ] java8中流式API

  • [x] 老鼠试毒问题

  • [ ] currenthashmap 1.8为什么要使用CAS+Synchronized取代Segment+ReentranLock

  • [ ] 了解内存泄漏吗?有什么危害?

  • [ ] copy是操作符还是内置函数

  • [ ] 假设需要启动MongoDB,在linux下怎么设置只能启动一个?

  • [ ] MongoDB怎么做备份?

  • [ ] MongoDB怎么解决写入失败问题?

  • [ ] 用Map和Queue太消耗内存了,怎么办?Map里存的是key/value的指针,不存具体的值。

  • [ ] golang中channel调用问题

  • [ ] defer recover panic 执行顺序

  • [ ] 了解http的断点续传吗?

  • [ ] 网络通信双方的流程(服务端:bind、listen、accept;客户端 (opens new window):connect)

  • [ ] 计算机中的文字乱码,字符集和字符编码的含义、如何区分?

  • [ ] 怎么算 QPS?

  • [ ] 常见的5个Linux中查看资源的命令(top,free,lsof,ps,netstat)可能指的就是这5个吧

  • [ ] LRU实现一下!!!!!

  • [ ] 单例模式写一下,是并发安全的吗?如何并发安全(加锁

  • [ ] rocksdb读写

  • [ ] go语言的性能的优劣

  • [ ] 上下文切换的细节

  • [ ] arp协议

  • [ ] tcp访问一个主机如果主机端口不存在返回什么信息 我说应该是time out吧

  • [ ] Slice、map都是安全的吗

  • [ ] 如何查看某个进程占用的内存大小?

  • [ ] 分页的目的是什么?

  • [ ] 说一下URL的格式,越详细越好

  • [ ] 36匹马,6个跑道,最少跑多少趟就可以筛选出前三匹最快的马?

  • [ ] 线程共享的有什么,不共享的有什么

  • [ ] LRU缓存的实现

  • [ ] const与define

  • [ ] x^2=n 怎么求 x?(二分)

  • [ ] 海量数字,范围都是 1~10000,怎么排序 (opens new window)?(计数排序)

  • [ ] 点分十进制 ip 地址转为 32 位整数

  • [ ] vim怎么查询一个单词,怎么做匹配。

  • [ ] 怎么判断一个进程的状态,用什么命令。

  • [ ] 一个文件太大应该怎么打开。

  • [ ] 怎么查看cpu,磁盘io,网络io。

  • [ ] 怎么查看一个文件的大小。

  • [ ] 主动断开的会产生Close_wait还是被动断开的会产生?(哪一方会有

  • [ ] http头部字段说一下。

  • [ ] 协程怎么调度。

  • [ ] k8s都有什么重要的组件。

  • [ ] 如果十万个线程同时put,会出现什么问题

  • [ ] nginx master-worker进程、进程与redis (opens new window) 进程、线程

  • [ ] zookeep (opens new window)er、mysql、redis (opens new window) 、etcd 怎么实现分布式锁,各有什么优缺点,生产中一般用那个

  • [ ] 数据怎么同步,怎么更新,为什么用这种方式

  • [ ] 给子进程发一个kill信号,父进程能收到吗, 为什么

  • [ ] 怎么判断一个数是否是2的n次幂

  • [ ] delete和truncate

  • [ ] 断点调试的原理

  • [ ] 线程的状态 sleep前后会怎么样

  • [ ] traceroute原理

  • [ ] 写题 写一个会爆栈的代码(无限递归 说太慢了 要快 减少递归深度,然后多写了几个参数 指数级递归 还是说不行)

  • [x] 64匹马选最快的四匹!!!!!!!

  • [ ] restful的设计理念、修改和删除资源的时候为什么要把id放在url里而不放在http的参数里

  • [ ] 力扣 凑硬币!!

  • [ ] TCP 如何实现纠错,防止丢失数据和重复

  • [ ] 数据库出现读性能问题如何解决

  • [ ] 虚拟内存有什么作用

  • [ ] interface 不是个好的形式,会导致 GC 压力大,为啥,那用什么形式比较好;

  • [ ] goroutine 里面 panic 了会怎么样;

  • [x] map 是否是并发安全的,不是如何做到,还有什么其他方法;

    不安全,使用sync.Map参考 数据结构 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [ ] raft 解决了什么问题;

    Raft是一套共识算法,解决分布式系统中多个副本的一致性问题

  • [x] slice 分配在堆上 还是栈上

    这东西没找到,,,可以这样答,当长度较小时,会分配到栈上,当栈空间不足的时候才会分配到堆上

  • [ ] GMP并发模型 goroutine切换的时候上下文环境放在哪里

  • [x] 说一下reflect

    反射可以获取go的类型和返回值

  • [x] 问channel,说了底层实现

    并发编程 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [ ] Go func与method之前的那个Receiver是什么?(答:类似Java的实例本身,效果同java中的this关键字,同时在go method也可以把这个Receiver当做参数来正常使用);

  • [ ] git相关(回答的一塌糊涂)

  • [ ] Socket编程会么

  • [ ] 如果一个打开的文件里面有许多ip地址应该怎么过滤出来?

  • [ ] tcp断开连接时保持2mls的弊端(我答得是优点。。面试官提醒说是要答弊端,弊端?难道是占用了客户端 (opens new window)的端口吗)

  • [ ] 异步io什么的

  • [ ] rehash时候可以get put吗

  • [ ] hashmap数据太多 rehash时间长 怎么解决

  • [ ] guava chache实现原理

  • [ ] 设计一个短网址系统

  • [ ] JAVA 值传递和引用传递

  • [ ] 哪些操作会引发阻塞

  • [ ] 虚拟分页,逻辑地址,分页的好处

  • [ ] 推荐看sql必知必会

  • [x] go 逃逸分析

    内存管理 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [ ] 对象是如何分配到内存的

  • [ ] 零钱兑换(LeetCode原题

  • [ ] 复合索引,给sql判断索引顺序,问得很深

  • [ ] 复合索引的数据结构是怎么存储的

  • [ ] 终端里 curl 后过程 HTTP完整过程

  • [ ] 编程 go协程交叉顺序打印数组

  • [x] 64匹马,8个赛道,最少比多少次能找到最快的4匹。(这问题一定要看)

  • [ ] 什么是DIO

  • [ ] 什么是孤儿进程,孤儿进程的父进程是什么

  • [ ] 长链接字段

  • [ ] 命名管道在linux中具体怎么实现的?

  • [ ] 你就随便说下linux中网络编程的5个io模型是怎么实现的吧。

  • [ ] 完全二叉树 (opens new window)与搜索二叉树 (opens new window)的概念

  • [ ] 从应用层到网络层各层的header都有什么不同的功能。(绝了,不知道咋讲。。说了存放地址和端口)

  • [ ] Java中String为什么要声明成不可变的

  • [ ] go waitgroup 的坑

  • [ ] 写单例模式

  • [ ] 为什么要双重检验?volatile关键字的作用

  • [ ] 谈谈分布式CAP、BASE

  • [ ] 两阶段提交讲一下

  • [ ] 双亲委托的好处是什么

  • [ ] ES match查询:a和b中有hello,c中没有search

  • [ ] go micro了解多少?broker

  • [ ] TCP是通过什么机制保障可靠性的?(从四个方面进行回答,ACK确认机制、超时重传、滑动窗口以及流量控制,深入的话要求详细讲出流量控制的机制。)

  • [ ] 四次挥手中TIME_WAIT状态存在的目的是什么?

  • [ ] 最后一次挥手为什么要等待2MSL

  • [ ] Java中 String a="xx";String b="zz"+"yy"+a;发生了什么?

  • [ ] 虚拟内存快排堆排top k 问题

  • [ ] 考察切片比较,深拷贝的问题;

  • [ ] url 短网址的项目 (opens new window),

  • [ ] 垃圾回收,装饰器;

  • [x] 内存对齐

  • [ ] groutine的底层实现

  • [ ] 问了golang的interface的区别,继承,gc的原理、区别,双向链表 (opens new window)等。

  • [ ] 取链表 (opens new window)的中间节点。

  • [ ] mysql表中一亿条个人信息,如何按身份证号查找用户。

  • [ ] 两个stack 实现 queue;

  • [ ] nginx的代理服务、缓存机制?(代理,请求转发到其他服务器;缓存,就是会缓存他代理的数据)

  • [ ] raft算法 (opens new window)细节(选主 复制 脑裂 balabala)

  • [ ] go标准库的 mutex介绍

  • [ ] go性能调优怎么做的?

  • [ ] go实现一个SQL Pool(可以借鉴database/sql pool的实现)

  • [x] go 怎么控制查询timeout (context)

    context里面有一个超时的包,到了时间会终止

  • [ ] socket编程,(说了bind,listen,received)

  • [ ] 慢开始是具体是怎么样的?

  • [x] Go如何调度,假设4核的cpu应该有几个线程或者说有几个M,那能有几个groutinue,groutinue数量的上限是多少?

    这个就是GMP调度模型了,上限和系统内存有关。

    并发编程 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [ ] 红黑树 (opens new window)和二叉搜索树的区别

  • [ ] 红黑树 (opens new window)和平衡二叉树 (opens new window)的区别,相比于平衡二叉树 (opens new window)。

  • [ ] 解决哈希冲突的方法

  • [ ] .一致性哈希算法 (opens new window)

  • [ ] LRU和LFU的区别?LRU强调的是什么?

  • [ ] 经典快排思路 稳不稳定?

  • [ ] 虚拟内存?操作系统怎么实现虚拟内存?

  • [ ] 判断链表 (opens new window)有没有环,入环节点

  • [x] goroutine 泄露 说一下,并指出了简历上“goruntine”的拼写问题(可恶的输入法。)

    内存管理 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] 内存泄露?不了解

    内存管理 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [ ] etcd相关

  • [ ] 给了一段 Go 的代码,回答以下几个问题:

    func main() {``  ``var l []string = []string{``    ``"www.baidu.com"``    ``"www.google.com"``  ``}``}
    
    1
    • 上面代码执行之后,内存是怎么分配的
    • l 是个什么东西
    • 指针的大小
  • [ ] gossip 协议

  • [ ] 进程挂了共享内存是否还存在,为什么?

  • [ ] cap与acid中的c是否一致?(答的一致,实际上不一样)

  • [ ] 谈到cat和more的时候讲一下区别

  • [ ] 100层楼两个玻璃球问题,找到摔碎的临界值

  • [x] golang如何实现类

    这个其实指的是结构体里面携带函数

  • [ ] socket read返回0是怎么回事。

  • [ ] awk命令解释一下做什么用的。

  • [ ] makefile依赖关系。

  • [ ] 一个a+b程序从编译到运行都发生了什么(从预编译到print显示到屏幕上)

  • [ ] golang gmp模型怎么调度的,一个goroutine sleep了,操作系统是怎么唤醒的

  • [ ] 用go撸一个生产者消费型,用channel通信,怎么友好的关闭chan.

  • [ ] 对比一下 Golang 和 Java 的 GC,答了一下 CMS、G1和三色标记,我对比的点是 JVM 有分代回收,Go 的 Runtime 没有,没能深入地讲

  • [ ] fork原理。

  • [ ] 金额找零 $M, N种不同面值的硬币, 找零怎么实现

  • [ ] 向socket传值的流程?

  • [ ] HTTP头部属性

  • [ ] DNS及查询过程

  • [x] Golang传参方式

    go里面都是值传递,如果要修改值,那么就传递指针过去

  • [ ] top命令中idle字段的解释

  • [x] MTU

    指的是最大传输单元,在TCP链接里面有

  • [x] 内存对齐是什么

    这个就很牛逼了,详情参考: 其他 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] 给定一个 0-4随机数生成器 如何生成0-6随机数

    这个使用采用拒绝采样的方法来实现

  • [ ] 交换机是如何工作的

  • [ ] 如何实现附近的人功能

  • [ ] A和B方法用synchorinzed修饰,进入了方法A还能进入方法B吗

  • [ ] 线程yield()wait()的区别

  • [ ] docker容器重启后,文件是否存在

  • [ ] 内存有限,如何寻找两个大文件中同样的行

  • [ ] http常见的状态码?502的具体含义解释下?

  • [ ] 协程底层怎么实现?

  • [ ] 孤儿进程,僵尸进程

  • [ ] git文件版本,使用顺序,merge跟rebase

  • [ ] Go 如何进行调试:gdb/delve

  • [x] Go 如何打印堆栈:runtime.Caller

    面试问题 | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [ ] cpu特别高如何定位

  • [ ] sql执行慢的原因?如何看是什么问题?

  • [x] 如何检查之前的命令是否运行成功 (使用 Shell 脚本)

    shell中使用符号“$?”来显示上一条命令执行的返回值

  • [x] SSL/TLS 握手过程

    主要参考这个: 应用层(HTTP,SMTP) | 面试问题浓缩总结 (xiaoyou66.com) (opens new window)

  • [x] 正则表达式中 * 和 ? 的含义

    * 匹配前面的子表达式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。* 等价于{0,}。
    ? 匹配前面的子表达式零次或一次。例如,"do(es)?" 可以匹配 "do" 或 "does" 。? 等价于 {0,1}。
编辑 (opens new window)
上次更新: 2021/04/20, 22:11:56
蘑菇街(一面)
腾讯(一面)

← 蘑菇街(一面) 腾讯(一面)→

Theme by Vdoing | Copyright © 2021-2021 小游
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式