今日头条后端开发面经

2020-02-25  本文已影响0人  dwade06

一二面,基础的技术考察 可能会涉及算法、工程、coding……
三面,除了技术考察还会涉及之前做的项目 重点看候选人的综合素质、技术深度

  1. 写一个线程安全的queue

  2. 两个数组求中位数

  3. 红黑树旋转
    诸如此类的算法可以复习一下。回答出其中两道就行。

  4. 用户权限系统设计

  5. 数据库自增id实现和瓶颈优化

  6. 实现qps控制

  7. 高并发场景资源共享

  8. 分布式锁实现原理

  9. 算法 Search in 2d matrix 2(LeetCode)

第一轮很轻松,技术问题+项目经历+一个手写算法
第二轮,技术问题+两个算法
redis的各种数据结构,用法 线程,进程概念
算法:lru实现 树的遍历 n个数组求top k 得值

在数组中寻找和为指定值的两个数;位图法排序;索引的原理;redis内部存储原理;爬虫url去重(分表);还有java基础,容器类。

人选C++转语言,面试有涉及:一个算法题,几个数据库基础知识,还有一个内存的实现。

人选C#/C++转语言,2个单链表求和,链表顺序是从高位到低位;给你一个数组表示一排楼层的高度,然后下雨了之后会有雨水堆积在这些楼层之间,求雨水面积;简单问了项目;以及数据库相关的知识、redis相关的知识等。

给你一个歌单,你来实现随机播放以及项目经历和一个场景题、大规模并发写入数据库,应该怎样设计架构。

数据结构,链表大数加法,字符串反转实现,innodb索引的实现。

算法题:线程池 get release random O(1)实现
log(k)的时间实现两个有序数组里面找到第k个数
两个数组a/b,用for循环遍历a数组的元素,然后用二分查找,找b数组中这个元素的位置,然后相加等于K 。

上一篇 下一篇

猜你喜欢

热点阅读