Skip to content

Latest commit

 

History

History
28 lines (19 loc) · 1.67 KB

面试题-人人视频.md

File metadata and controls

28 lines (19 loc) · 1.67 KB
  1. 列表页和详情页共用播放器如何实现,可滑动视频列表

  2. 首页嵌套滑动问题

    • ConsecutiveScroller:通过拦截可滑动的子view的滑动事件,使它无法自己滑动,而把事件统一交由ConsecutiveScrollerLayout处理,ConsecutiveScrollerLayout重写scrollBy()、scrollTo()方法,在scrollTo()方法中通过计算分发滑动的偏移量,决定是由自身还是具体的子View消费滑动的距离,调用自身的super.scrollTo()和子View的scrollBy()来滑动自身和子View的内容。

      https://github.com/donkingliang/ConsecutiveScroller

    • RecyclerView 嵌套 RecyclerView 卡顿问题

      • 如果嵌套的 RecyclerView 高度没有设置明确的值,会一次创建所有的 item,造成卡顿
    • ScrollView 嵌套 ReyclcerView 复用机制失效问题,ReyclcerView 会将所有数据一次性全部加载

      • ScrollView 嵌套 ReyclcerView 时,RecyclerView 的高度是无限大的,所以要将 RecyclerView 设置固定高度,比如屏幕高度。
      • 或者重写 measureChildWithMargins,让 ScrollView 测量 RecyclerView 时,不使用 MeasureSpec.UNSPECIFIED 模式。
  3. 算法:判断两个链表是否相交

    https://leetcode.cn/problems/intersection-of-two-linked-lists/description/

    1. 通过尾节点判断
    2. 通过哈希表记录节点
    3. 双指针法(推荐)
    4. 长度差法