zoukankan      html  css  js  c++  java
  • go面试题

     

    字节

    1

    go channel close后读的问题

    2

    Linux grep命令查找日志文件相关内容

    3

    B+树结构 and 为什么

    4

    io多路复用,epoll和select的区别

    5

    计网七层协议、线程进程区别

    http://blog.chinaunix.net/uid-25984886-id-3029864.html

    6

    线程怎么调度

    https://segmentfault.com/a/1190000038564512

    7

    进程通信方法

    https://blog.csdn.net/zhaohong_bo/article/details/89552188

    8

    tcp 保证可靠性

    9

    go slice 和 array 区别

    https://www.jianshu.com/p/10d23e9ffc36

    • 如果切片的容量小于1024个元素,那么扩容的时候slicecap就翻番,乘以2;一旦元素个数超过1024个元素,增长因子就变成1.25,即每次增加原来容量的四分之一。
    • 如果扩容之后,还没有触及原数组的容量,那么,切片中的指针指向的位置,就还是原数组,如果扩容之后,超过了原数组的容量,那么,Go就会开辟一块新的内存,把原来的值拷贝过来,这种情况丝毫不会影响到原数组。

    10

    GMP 模型

    调度相关的四个基本单元是g、m、p、schedt。g是协程任务信息单元,m实际执行体,p是本地资源池和g任务池,schedt是全局资源池和任务池。这里的m对应一个os线程,所以整个执行逻辑简单来说就是"某个os线程m不断尝试拿资源p并找任务g执行,没有可执行g则睡眠,等待唤醒并重复此过程",这个执行逻辑加上sysmon系统线程的定时抢占逻辑实际上就是整个宏观的调度逻辑了(其中穿插了很多唤醒m、system goroutine等等复杂的细节),而找协程任务g的过程占据了其中大部分。g的主要来源有本地队列、全局队列、其他p的本地队列、poller(net和file),以及一些system goroutine比如timerproc、bgsweeper、gcMarkWorker、runfinq、forcegchelper等。

    11

    分布式缓存框架,singleflight 并发,深挖,一直挖到sync.WaitGroup 

    12

     缓存击穿 缓存雪崩 

    13

     sync.WaitGroup 

    14

     cookie session 

    15

     设计学生成绩数据库,并写出查询语文成绩top3的人。 url输入全过程 。从此引出后端除了响应请求还有什么。

    16

     什么是分布式系统 

    17

     由上面分布式系统 引出负载均衡 

    18

     负载均衡算法有哪些 

    19

    一致性哈希算法 深挖。一致性哈希与普通哈希的区别。

    20

     GMP模型 

    21

     手撕代码 LRU 

    22

     手撕代码 生产者消费者模型 

    23

     手撕代码 反转连表 

    24

    算法题:三数之和 

    25

     session如何存储 

    26

     多台服务器session存储怎么设计。

    27

     除了存redis 还能怎么存(

    28

     http 和 https区别 

    29

     https详细过程 

    30

     get post区别。还有什么其他方法。分别说说是做什么的。 

    31

     web安全问题。 

    32

     设计一个短链接服务。如何抗住大qps, 抗大流量 。url 哈希函数怎么设计(怎么存,怎么统计qps)

     

    腾讯

    1

    tcp和udp的特性,tcp三次握手、四次挥手

    2

    http2.0了解吗?和http1.1的差距?

    3

    反爬了解吗?反爬的几项技术在项目里面怎么实现的?

    4

    项目部署的服务器是单机的,请问如果是大流量高并发请求服务器怎么处理?

    5

    数据结构:常用排序算法,快排、堆排的原理和实现。

    6

    算法:topK,时间复杂度

    7

    如果是亿级数据怎么处理?

    8

    b树 b+树区别

    9

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

    10

    TCP 粘包

    11

    进程 协程 线程 

    12

    跳表怎么实现

    13

    go的调度

    14

    go struct能不能比较?

    15

    go defer(for defer

    16

    select可以用于什么?

    17

    context包的用途?

    18

    client如何实现长连接?

    19

    主协程如何等其余协程完再操作

    20

    slice,len,cap,共享,扩容

    21

    map如何顺序读取?

    22

    实现set

    23

    实现消息队列(多生产者,多消费者)

    24

    大文件排序

    25

    基本排序,哪些是稳定的

    26

    http get跟head

    27

    http 401,403

    28

    http keep-alive

    29

    http能不能一次连接多次请求,不等后端返回

    30

    tcp与udp区别,udp优点,适用场景

    31

    time-wait的作用

    32

    数据库如何建索引

    33

    孤儿进程,僵尸进程

    34

    死锁条件,如何避免

    35

    linux命令,查看端口占用,cpu负载,内存占用,如何发送信号给一个进程

    36

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

    37

    项目实现爬虫的流程

    38

    爬虫如何做的鉴权吗?

    39

    怎么实现的分布式爬虫

    40

    电商系统图片多会造成带宽过高,如何解决?

    41

    micro服务发现

    42

    mysql底层有哪几种实现方式

    43

    channel底层实现

    44

    java nio和go 区别

    45

    读写锁底层是怎么实现的?

    46

    go-micro 微服务架构怎么实现水平部署的,代码怎么实现?

    47

    micro怎么用

    48

    怎么做服务发现的

    49

    mysql索引为什么要用B+树?

    50

    mysql语句性能评测?

    51

    服务发现有哪些机制

    52

    raft算法是那种一致性算法

    53

    raft有什么特点

    54

    go服务部署到线上了,发现有内存泄露,该怎么处理

    55

    https 握手,为什么需要 非对称加密 对称加密

     

    金山wps

    1

    PHP-FPM 

    2

    CGI 是一个 Web Server 与 CGI 程序之间进行数据传输的协议,保证传递的是标准数据 

    3

    PHP-CGI 是 PHP 解析器(CGI 程序) 

    4

    FastCGI 是用来提高 CGI 程序性能的方案/协议。FastCGI 会先启动一个 master,解析配置文件,初始化执行环境,然后再启动多个 worker。当请求过来时,master 会传递给一个 worker,然后立即可以接收下一个请求,避免重复劳动,提高效率 

    5

    PHP-FPM 是实现 FastCGI 的程序 

    6

    PHP 和 Go 对比 

    7

    MVC 模式 

    8

    MySQL 优化(索引、分表分库) 

    9

    浏览器地址栏输入网址整个过程 

    10

    TCP 三次握手和四次挥手 

    11

    Linux 相关(介绍了一下基本操作命令) 

    12

    Docker 相关 

    13

    Git 相关 

    14

    开发环境(Windows、Linux 

    15

    CI / CD 发布流程 

    16

    HTTP 长连接(HTTP 1.1 版本) 

    17

    腾讯音乐

    18

     TCP 拥塞控制(快速恢复、快速重传)

    19

    从面向连接的特性回答

    20

     UDP 实现可靠连接

    21

    TCP 可靠连接特性回答

    22

    四、MySQL 数据库

    23

     MySQL 索引数据结构

    24

    索引为什么使用 B+ 树

    26

     为什么不使用 Hash 结构

    27

    like 模糊查询 

    28

    范围查询 

    29

    结合事务隔离级别

    30

    Go 语言相关

    31

     slice 和 array 区别

    32

     向为 nil 的 channel 发送数据会怎么样

    33

    map 取一个 key,然后修改这个值,原 map 数据的值会不会变化

    34

    根据 map 存储的类型回答

    35

     for 循环遍历 slice 有什么问题

    36

     Go 闭包

    37

     进程、线程、协程区别

    38

    技术相关

    39

    输入 URL 发生的整个网络过程 

    40

    Redis 怎么保证数据一致性 

    41

    TCP 流量控制、拥塞控制 

    42

    TCP 半连接队列 

    43

    TCP 半关闭状态 

    44

    TCP TIME_WAIT 状态 

    45

    内核态、用户态 

    46

    Hash 实现、冲突解决、应用 

    47

    快速排序

    48

    堆排序

    49

    大小堆 

    51

     100 枚硬币,其中有一枚硬币重量不一样,用天平秤怎么快速找到这一枚硬币

     

    跟谁学

    1

    说一下Redis中HashMap的实现(双table,渐进式rehash,扩容条件,缩容条件,bgsave,CopyOnWrite机制) 

    2

     扩容过程中有新的请求流程

    3

     Redis其他的数据结构(SDS,RAW,INTSET,ZIPLIST,SKIPLIST,QUICKLIST) 

    4

     跳表的实现?

    5

     Redis的定时任务怎么实现的?

    6

     订单服务过期是怎么设计的(RabbitMQ死信队列) 

     

    百度

    1

    数据库问题,给你10个数据库服务器,每个只能接500的qps,现在要实现4000qps,要怎么做?说用负载均衡,使用binlog保证10个服务器的数据一致性 

    2

     如果有有读有写,如何实现高并发,数据库读写分离 

    3

    对于两个写库,两个请求向分别打到两个写库中,他们互相向对方同步,会不会出现不一致,

    4

    哈希的实现有哪几种,如何取hashcode,冲突检测几种方法 

    5

    用过go,那么进程,协程,线程各自的优缺点 

    6

     算法题 z遍历二叉树,循环有序数组找指定值,

    7

     1.事务是怎么实现的?(undo_log,MVCC) 

    8

    mongodb和redis的区别

    9

    请你说说golang的CSP思想

    10

    go 内存逃逸分析(分析了栈帧,讲五种例子,描述堆栈优缺点,点头)

    11

    是否有逃逸分析过

    12

    defer recover 的问题

    13

    mysql 索引慢分析(线上开启slowlog,提取慢查询,然后仔细分析explain 中 tye字段以及extra字段,发生的具体场景及mysql是怎么做的

     

     

  • 相关阅读:
    获取时间差
    列表添加空字符串
    python提示InsecureRequestWarning
    网络抓包工具
    活动目录相关的面试题(一)
    How to Install Zabbix 4 on CentOS 8 / RHEL 8 in 10 minutes!
    服务器在使用 yum 命令时出现 No match for argument: screen Error: Unable to find a match 错误
    RHEL8/CentOS8的基础防火墙配置-用例
    RHEL8和CentOS8怎么重启网络
    信息安全等级保护等级划分
  • 原文地址:https://www.cnblogs.com/brady-wang/p/15255502.html
Copyright © 2011-2022 走看看