美文网首页
今日头条校招面试-后台开发工程师

今日头条校招面试-后台开发工程师

作者: fancyqlx | 来源:发表于2017-09-29 10:06 被阅读0次

    一面:

    1:自我介绍

    2:手写代码:去除c++中的注释

    3:详细描述网络库的架构

    4:服务端编程需要用到的函数,详细解释

    5:解释time_wait状态,原因,解决方法

    6:解释MSL

    7:解释服务端哪些函数需要阻塞,如何实现非阻塞

    8:解释poll和epoll的区别,epoll的底层原理

    9:简单描述红黑树

    10:简单解释中断机制

    11:解释读写缓冲,为什么这么设计

    12:解释socket缓冲,滑动窗口协议

    13:解释backlog,为什么有这个限制

    14:线程池的简单描述

    15:了解c++11中哪些新特性

    16:左值引用和右值引用

    17:生产者消费者模型,如何实现多线程访问

    18:c++中如何实现信号量

    19:提问环节

    20:再解释论文中的一个算法吧,有加分

    二面:

    1:自我介绍

    2:手写代码:之字形打印二叉树

    3:解释网络库

    4:解释消息队列,pub-sub系统以及RPC

    5:解释poll和epoll的区别,epoll的底层架构

    6:解释红黑树

    7:解释hash_map的底层实现

    8:解释线程池的实现

    9:聊聊你的消息如何进行序列化和反序列化,如何判断大端小端

    10:你的网络库和现在的网络库相比,有哪些没有考虑的,如何解决

    11:最近有在看哪些技术书籍

    12:mmap的原理,为什么比read,write要快

    13:fwrite会经历哪些过程

    14:解释分布式一致性协议,两阶段提交,raft以及其与paxos的区别

    15:提问环节

    三面:

    1:自我介绍

    2:解释CAP

    3:解释分布式一致性协议,raft

    4:设计题:设计一个后端系统用于用于查询新闻,其中数据库最多只能承受1w的访问量:

    初步设计:连接路由+分布式缓存+超时机制+消息队列

    5:超时机制如何更新新闻,新闻需要存储哪些东西,如何设计key:

    优化:超时机制改为push

    6:如何进行路由,路由表如何查找:

    优化:map,红黑树,时间戳

    7:路由会有单点问题,如何解决:

    优化:一致性hash,分布式hash表

    8:分布式hash和普通hash有什么区别,优势是什么

    9:再谈谈超时机制,详细设计一下:

    优化:类似LRU这样的缓存更新

    10:如果每条新闻的超时时间不同呢:

    优化:优先级队列

    11:如何将这个优先级队列分布式化

    12:优先级队列的原理

    13:描述一下堆的插入和删除

    14:网络库的设计思路,如何一步步想到这些的

    15:未来对这个库优化思路

    16:技术规划是什么,最近在看哪些技术书籍

    17:了解哪些开源框架,了解头条的技术架构

    18:想在头条里从事什么,提问环节

    HR面:

    很轻松,简单的聊了几句

    相关文章

      网友评论

          本文标题:今日头条校招面试-后台开发工程师

          本文链接:https://www.haomeiwen.com/subject/cobbextx.html