zoukankan      html  css  js  c++  java
  • 小刘整理的 go 面试题

    Go相关

    • map、channel、slice的底层实现,
    • sync.map、sync.pool、sync.Once的原理
    • GC的过程、写屏障的含义及作用
    • GMP模型,触发Goroutine切换的原因有哪些?for死循环会怎么样?全局goroutine里面存储什么?
    • interface的底层实现,怎么判空?
    • reflect的使用
    • 逃逸分析
    • context的使用
    • go 性能问题的定位过程(pprof的使用)
    • 协程池的使用

    Mysql相关

    • 索引的分类
    • 为什么选择B+树实现索引?一般深度为多少?b+树和红黑树的区别?
    • 聚簇索引和非聚簇索引的区别
    • 创建索引后,查询读取I/O的次数
    • 索引的最左前缀原则
    • mysql数据的索引优化以及失效
    • 从学生表中查询每个班的分数的前3名
    • mysql的隔离级别?处理什么问题的(脏读、幻读、不可重复读)
    • mysql的主从复制过程?
    • mysql的大表优化方式

    Redis相关

    • redis的数据类型以及日常的应用
    • redis的发布/订阅的原理
    • zset的底层实现
    • 数据缓存过期策略
    • redis的部署模式
    • redis为什么速度比较快
    • reids的大key、热key的处理
    • 如何实现分布式锁的
    • 持久化策略及其对比
    • 缓存雪崩、缓存击穿、缓存穿透

    Etcd相关

    • etcd是什么?有什么优势
    • raft选主逻辑
    • 日志复制
    • 脑裂问题
    • etcd的watch机制
    • etcd如何实现配置下发和服务发现
    • etcd对于偶数机器的集群的选主处理
    • 选主实现逻辑

    Prometheus相关

    • 简介
    • 数据存储原理
    • 数据类型

    Grpc相关

    • 相较于restful的优势
    • 数据交互方式
    • 限流(通过流模式传输时,发送方数据量过大,会发生什么?)
    • protobuf和json的对比
    • grpc负载均衡的实现

    Linux相关

    • awk
    • poll、epoll、select
    • I/O模型

    网络协议相关

    • http2的优势
    • https的建连过程(7次握手)
    • 对称加密和非对称加密
    • icmp协议的原理
    • tcp三次握手、四次挥手
    • tcp 拥塞策略
    • tcp的time_wait状态和colse_wait状态
    • 如何解决tcp的粘包问题
    • quic协议是什么
    • 如何理解网络模型
    • http的状态码含义

    智力题

    • 25匹马,每次只能比赛5组,最快几次找到前3名

    • 宝石问题(3个盒子,其中2个宝石,一个石头;先随机选取一个,然后剔除剩余两个中的宝石;第三次选择,选择哪个为宝石的概率大?)

    系统设计

    • RPC的设计

    • 架构设计分单系统,每秒3000订单有效期15分钟,50W司机进行抢单操作,如果一直没有抢单,则订单失效

    • 字符串hash算法的实现

    • 敏感词过滤

    • 设计一个高可用的稳定的并发模型处理HTTP请求

    其他

    • 一致性hash算法
    • 微服务概述
    • 什么是死锁,如何避免
    • 限流策略

    算法

    • 如何原地交换两个数

    • 岛屿问题

    • 数组中重复的数据

    • 1到n乱序排列的数据,少了其中一个,找出这个数

    • 二叉树的右视图

    • LRU缓存机制 (考虑并发访问)

    • 高并发的生产者消费者模式

    • 通过中序遍历序列和先序序列恢复二叉树

    • 爬楼梯问题

    • 单链表逆序

    • 单向链表排序

    • string1 = 1234dsafaserewr,string2 = 23aefasdfwer,求string3 = string1 + string2

    • 二叉树节点的公共祖先

    • 二叉树的最大深度

    • 二叉树的中序遍历和层次遍历

    • 寻找两个升序数组的第K大值

    • 最长回文子串长度

    • 最短回文串

    • 合并两个有序链表

    • 全排列

    • 接雨水

    • 盛最多水的容器

    • Pow(x, n)

    海量数据处理问题(面试官很喜欢问)

    • hash
    • 字典树
    • bitmap
    • 布隆过滤器
    • MapReduce
  • 相关阅读:
    gc buffer busy/gcs log flush sync与log file sync
    给Oracle年轻的初学者的几点建议
    Android 编程下帧动画在 Activity 启动时自动运行的几种方式
    Android 编程下 Touch 事件的分发和消费机制
    Java 编程下 static 关键字
    Java 编程下 final 关键字
    Android 编程下模拟 HOME 键效果
    Why Are Thread.stop, Thread.suspend, Thread.resume and Runtime.runFinalizersOnExit Deprecated ?
    Extjs4 大型项目目录结构重构
    [转]SQLServer 2008 允许远程连接的配置方法
  • 原文地址:https://www.cnblogs.com/liuqun/p/13622298.html
Copyright © 2011-2022 走看看