• 面试总结


    1. 进程的状态,僵死进程

    http://blog.csdn.net/nilxin/article/details/7437671

    http://baike.baidu.com/link?url=6p9NTARJI51aL6dokyYcZbvydGMDjCTIO2NjCZc0mBtGKSo8ESRlTlcxXArE4f2483vgekGG0y7SLIQoI-UQWq9-UUZsQP8bFPHqVcNDdurmrgISw37MX3uxcS3mAPCw

    2. 3次握手, 为什么是3次握手

    http://blog.csdn.net/xumin330774233/article/details/14448715

    3. 4次挥手, 为什么是4次挥手

    http://blog.csdn.net/qq276592716/article/details/19762121

    4. timewait,为什么需要timewait

    首先,如果last ack如果丢失,主动关闭端需要重新发送ack包,因此主动关闭端不能在发送last ack后马上进入closed状态,而是进入timewait状态;

    其次,保证老的重复分节已被丢弃,不会影响新的连接

    5. 构造函数和析构函数可以是虚的么,为什么

    http://www.cnblogs.com/lixiaohui-ambition/archive/2012/07/13/2589716.html

    http://blog.csdn.net/chen825919148/article/details/8020550

    6. 协程

    7. select和epoll的区别

    http://www.cnblogs.com/Anker/p/3265058.html

    http://blog.csdn.net/shuxiaogd/article/details/50366039

    8. 进程通信的方式, 区别和联系

    http://www.cnblogs.com/mydomain/archive/2010/09/23/1833369.html

    https://blog.csdn.net/piaoairy219/article/details/17333691

    ZeroMQ是一种基于消息队列的多线程网络库

    9. 线程同步的方式

    互斥锁: 获取锁失败的线程进入阻塞状态;

    读写锁: 读锁共享,写锁互斥, 在读远大于写的场景下面,可以增大并发,性能更佳;但是读写锁逻辑更复杂,一般情况性能不及互斥锁;

    自旋锁:获取锁失败的线程,不释放cpu, 而是进入忙等状态,适用于锁被持有的时间很短的场景。自旋锁可以避免互斥锁导致的线程频繁切换成本,但是自旋锁冲突严重也会导致cpu sys飙高。

    10. 网络模型

    nginx高并发模型

    11. tair是如何进行数据迁移的

    mdb 2万 getcount, ldb  8000 getcount, 集群规模70台,

    12. db优化,分表

    https://blog.csdn.net/xlgen157387/article/details/53976153

    https://zhidao.baidu.com/question/1242108282694993579.html

    13. 业务的流量

    4个集群, 每个集群100台机器, 96G内存,cpu 32core, 单机qps 500,应用70,网卡万兆,   性能测试5w qps, cpu90+%

    信息流, 单机峰值qps:100, 单机房:200台机器; 性能测试800+ qps, cpu user:80+%,cpu sys:10+% , 原因:自旋锁冲突 

    14. 碰到的困难,怎么解决的

    15. 描述快排

    16. 最近在看的书

    程序员自我修养

    17. tcp怎么保证稳定性,udp和tcp的区别,使用场景

    超时重传,保序,确认,校验,流量控制,去重

    https://blog.csdn.net/m0_38121874/article/details/82914634

    18. rehash,解决冲突的方法,多阶hash

    19. 进程和线程的区别

    20. 类的大小

    https://blog.csdn.net/fengxinlinux/article/details/72836199

    空类的大小

    21. 惊群问题

    https://www.cnblogs.com/Anker/p/7071849.html

    22. 滑动窗口原理

    http://baijiahao.baidu.com/s?id=1581610570141881026&wfr=spider&for=pc

    https://coolshell.cn/articles/11609.html

    23. 算法:滑动窗口最大值

    https://blog.csdn.net/u010429424/article/details/73692248

    24. static_cast 和dynamic_cast

    https://blog.csdn.net/qq_26849233/article/details/62218385

    25. B-树和B+树, B+树用在什么场景

     https://www.sohu.com/a/156886901_479559

    26. vector的动态内存管理, dequeue

    resize vs reserve

    https://blog.csdn.net/linhao19841211_2/article/details/8154805

    dequeue实现

    https://blog.csdn.net/baidu_28312631/article/details/48000123

    27. 优先队列的实现

    大顶堆

    28. 分布式一致性的方法

    二阶段, paxos, bully

    29. 训练集群

    核数: 180*395 + 64*83 = 7.6w

    内存: 256*(395+83) = 122T

    任务数:2千/day

    30. gpu训练

    成本优势: 是纯cpu训练的2-4倍

    模型:mlp(1024,512,128), 特征id 15亿, 样本5亿

    cpu训练: 50ps(各15core)+ 50worker(各15core)=1500core = 23.5台腾讯云S5机器, 10w qps;线性扩展能力弱,集群规模增大后,性价比下降;

    gpu异构训练: 1台v100机器+5台腾讯云S5=14.3台腾讯云S5机器,15.5w qps, batch 2048

    耗时分布: 训练时间82ms(8*2048样本的训练时间),pass切换时间2817ms(1pass=1024batch,分摊到每个step为22ms), 分摊后,每个step的实际耗时是82+22=104ms。

  • 相关阅读:
    可扩容分布式session方案
    Linux 极限压缩
    python调用jenkinsAPI
    Jenkins-slave分布式跨网络发布
    mysql查看指定数据库各表容量大小
    FastAPI--依赖注入之Depends(8)
    FastAPI--跨域处理(7)
    FastAPI--中间件(6)
    FastAPI--错误处理(5)
    FastAPI--响应报文(4)
  • 原文地址:https://www.cnblogs.com/simonote/p/6943189.html
Copyright © 2020-2023  润新知