今日头条面试总结

头条2017年4月27号面试

一面:
  1. hashmap 的实现原理,是不是线程安全的?
  2. 如何解决hashmap线程不安全问题?
  3. 弱引用和软引用的区别,有没有用到过?
  4. 如何用一个数组实现一个队列?如果满了怎么办(扩容),扩容怎么实现?
  5. 如果实现循环队列,怎么操作?怎么样实现扩容?
  6. java异常介绍
  7. Android的事件分发机制,down 事件和 move up事件的监听,传递状态
  8. handler和looper之间的关系,他们怎样通信的,怎么实现事件的分发
  9. 如何再一个非UI线程中启动一个looper?
  10. looper.loop()内部实现机制
  11. 链表插入节点,反转链表
  12. 快速排序
  13. http请求头,响应头,状态码
  14. http和tcp之间的关系
  15. 三次握手和四次挥手
  16. get和post区别
  17. 如何实现断点续传
二面:
  1. java引用传递和值传递
  2. 如何实现http请求上传一个图片,实时显示上传百分比,怎样获取这个比例呢?
  3. 链表的排序
  4. 一个数组,如果存在一个递增序列,则返回true,其中递增序列位置不一定连续,如[1,-1,3,2,5],则1 3 5 构成一个递增序列,
    如果一个都不存在的话返回false,如[1,-2,0,-7] (实现方式见leetcode/16.java,时间复杂度为n2)
  5. 项目相关,怎么修改caffe的layer的,用的是c++的多少版本,如何实现?
  6. 剩下的就是聊天了
三面:
  1. 数组插入元素,考虑扩容情况
  2. 浏览器输入网址后的逻辑
  3. 操作系统内存管理
  4. jvm内存管理,垃圾回收机制
  5. java内部类为什么可以访问外部类的属性成员
  6. 设计一个联系人快速查询,可按照姓名,手机号,全拼等前缀匹配

算法总结

实现地址
代码地址

  1. 两个链表求和,(每个链表的节点表示一个数的一位,注意正向和反向的问题)
  2. 字符串的全排列
  3. 表达式的括号匹配
  4. 输入一个数n,找出小于等于n且满足一下规则的最大的数x。
    规则:x中的从左到右的每一位都是单调不减的。
  5. 实现c++的lowerr_bound,就是一个二分法
  6. 判断一个二叉树是平衡二叉树。
  7. 给定一个数n,查找树中是否有一个路径之后等于n。
  8. 设计LRU数据结构,写get方法
  9. 剑指offer上的第三题,二维数组的那道题
  10. 给一个数组找出前k大的数
  11. 两个有序的数组,找到第k大的数
  12. 分层遍历二叉树
  13. 给一个矩阵从左上角走到右下角,只能往右或者向下,找出最小的和
  14. 给一个左开右闭区间,去掉包含3,5,7的数
  15. 一个完全二叉树,插入一个节点,还是完全二叉树
  16. topk问题
  17. 链表的倒数第k个节点
  18. 最长回文子串
  19. 一个字符串最少操作改成另一个
  20. 二叉树和为n的子结构集合
  21. 一个数组没有重复的数,求子集
  22. 两个二进制字符串求和
  23. 快速排序
  24. 斐波那契
  25. 树的各种非递归遍历
  • 0
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值