快手面试 面试经验

本文分享了一次快手公司高级前端工程师岗位的面试经历,详细介绍了面试中的问题,包括HTML、CSS定位、Flex布局以及JavaScript算法题,如计算字符串中出现次数最多的字符。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2019/9/20 快手面试

面试方式是这样的面试官会给你 纸笔 ,想起什么问题来 就会让在纸上作答。大家可能很多时候,都在用编辑提醒写代码。到了在纸上写代码时候真的有点提笔忘字的感觉

今天上午去快手面试我这次去面试的高级前端工程师

面试知识点

html(问的不多)

css 定位(position)
属性描述
absolute生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位元素的位置通过 “left”, “top”, “right” 以及 “bottom” 属性进行规定。
fixed生成固定定位的元素,相对于浏览器窗口进行定位。元素的位置通过 “left”, “top”, “right” 以及 “bottom” 属性进行规定。
relative生成相对定位的元素,相对于其正常位置进行定位。因此,“left:20” 会向元素的 LEFT 位置添加 20 像素。
static默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。
sticky粘性定位,该定位基于用户滚动的位置。它的行为就像 position:relative; 而当页面滚动超出目标区域时,它的表现就像 position:fixed;,它会固定在目标位置。注意: Internet Explorer, Edge 15 及更早 IE 版本不支持 sticky 定位。 Safari 需要使用 -webkit- prefix (查看以下实例)。
inherit规定应该从父元素继承 position 属性的值。
initial设置该属性为默认值,详情查看 CSS initial 关键字。

sticky演示

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <h1>7777</h1>
    <div style="position: sticky;top:10px;height: 400px;">
        999
    </div>
    <div style="height: 4000px;background: #ccc">

    </div>
</body>
</html>
flex 弹性盒模型

弹性盒模型我就不做详细说明了阮一峰flex详解

js

就是有简单的算法题
第一题是 计算出一个字符串中出现次数最多的字符,打印出该字符 和 出现的次数
’aaba’ => a,3

function getAppearCount(str) {
    let list = str.split('')
    let obj = {}
    list.forEach(key => {
        if (obj[key]) {
            obj[key] = obj[key] + 1
        } else {
            obj[key] = 1
        }
    });
    let a = '';
    let num = 0
    for (const key in obj) {
        if (obj.hasOwnProperty(key)) {
            const ele = obj[key];
            if (ele > num) {
                num = obj[key]
                a = key
            }

        }
    }
    console.log(a,num);
    
}
getAppearCount('abshshshsaaaa')

### 快手公司面试实操经验及相关解答 #### 关于快手公司的面试特点 快手公司在招聘过程中非常注重候选人的实际动手能力和解决问题的能力。在面试环节中,除了考察候选人对于基础知识的理解外,还会通过具体的场景和技术问题来评估其综合能力[^2]。 #### 常见的技术面试题目分类 以下是快手公司可能涉及的一些常见技术面试方向及其对应的解题思路: ##### 1. 测试相关内容 快手会对测试部分有较高的关注,尤其是单元测试和组件测试的设计方法以及代码覆盖率的要求。例如,在设计单元测试时,需考虑以下几个方面: - 单元测试的目标是什么? - 如何衡量代码覆盖率是否达标? - 在不同情况下如何平衡测试的原则? 这些问题不仅考验应聘者对理论知识的掌握程度,更强调实践经验的应用能力。 ##### 2. 算法与数据结构 快手也十分看重求职者的算法功底。比如二分查找这一经典算法就经常被提及。当遇到时间复杂度为O(NlogN)的问题时,通常意味着可以通过某种形式的二分策略优化解决方案[^3]。 下面是一个简单的实现例子展示如何利用Python完成一次标准的二分查找过程: ```python def binary_search(arr, target): low, high = 0, len(arr)-1 while low <= high: mid = (low + high)//2 if arr[mid] == target: return mid # 找到目标值的位置 elif arr[mid] < target: low = mid + 1 # 更新下界 else: high = mid - 1 # 更新上界 return -1 # 如果未找到返回-1表示不存在该元素 ``` ##### 3. 大规模分布式系统的理解 针对大规模数据处理平台的知识也是不可忽视的一环。像拉勾网所提供的资料里提到过的大厂真实项目案例分析可以帮助加深对此类架构的认识水平[^1]。 此外还需注意诸如反压现象这样的性能瓶颈问题。如果某个节点上的sub-task所需处理的数据超过了它所能承受的最大容量,则可能会引发整个流水线的压力累积效应[^4]。 ##### 4. Web前端技能储备 对于从事Web端工作的开发者来说,扎实的基础加上不断精进的学习态度尤为重要。无论是初学者还是资深工程师都能从中受益匪浅——从前端框架的选择应用直到深层次原理剖析都有所涉猎[^5]。 --- #### 总结 综上所述,快手作为一家快速发展的科技企业,在人才选拔阶段设置了较为全面且具有挑战性的考核机制。希望上述分享能够帮助大家更好地应对即将到来的快手面试
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值