快手提前批C++音视频一面二面hr面

8月31日下午2:30hr面
1. 前两轮面试体验
2. 实习情况
3. 为什么选择快手
4. 目前其他公司的情况
5. 对地点的意向
6. 介绍一个图片编解码的小项目
7. 如何自学的
8. 对所投岗位是否了解,为什么选择这个岗位
9. 程序员看源码有什么好处
10. 技术面或hr面问什么问题对于应聘者来说算是有压力的好的面试问题
11. 是否能够来实习
12. 反问:
1)后续流程:1-2周通知最终结果
2)实习要求:最好能实习,不能也没关系,看应聘者个人情况

求快手给个OC啊!!!(好想成为大佬.jpg)


8月27日下午5点二面,全程55min
1. 自我介绍
2. 介绍简历上的项目
3. 手撕代码:
aligment_malloc(size_t size, int k),使用malloc申请size大小的空间,返回mod 2^k == 0的内存首地址
aligment_free(void* p),是否申请的内存
(对这块内容不是很熟悉,吭哧吭哧花了大概半小时写出来了,前面理解题意花了好长时间,后面处理边界问题也讨论了一段时间,太菜了,唉。。。)
不懂这一块原理,真的一时半会写不出来orz...最终实现代码:
#include<stdio.h>
#include<memory.h>
#include<stdlib.h>
#include<math.h>

void* aligment_malloc(size_t size, int k){
    if(size == 0) return nullptr;
    size_t aligment = pow(2, k);
    void *mptr = nullptr, *offsetptr = nullptr;
    mptr = malloc(size + aligment + sizeof(void*));
    printf("malloc address : %p\n", mptr);
    if(!mptr) return nullptr;
    offsetptr = (void*)(((size_t)mptr + aligment + sizeof(void*)) & ~(aligment-1));
    ((void**)offsetptr)[-1] = mptr;
    
    return offsetptr;
}

void aligment_free(void* p){
    if(p){
        free(((void**)p)[-1]);
    }
}

int main(){
    size_t size;
    int k;
    cin >> size >> k;
    size_t aligment = pow(2, k);
    void* ptr = aligment_malloc(size, k);
    printf("aligment address : %p\n", ptr);
    
    printf("free address : %p\n", ((void**)ptr)[-1]);
    
    int b = 0;
    if(((size_t)ptr % aligment) == 0) b = 1;
    printf("address aligment : %d\n", b);
    
    return 0;
}
4. 反问:
1)技术栈和业务内容:快手视频编码相关,语言是C++
2)只考察代码:基本是通过考察代码来看的
3)有什么建议:代码多练习
4)后续的流程:如果通过会有hr通知,后面是hr面

面试体验一般,面试官周围环境比较嘈杂,面试官很严肃,应该是个leader。对代码要求很严,问的也很细。
(好想成为大佬.jpg)

8月17日下午4点一面,全程1h左右
1. 自我介绍
2. 介绍下mysql的搜索引擎(看到我项目跟数据库比较相关)
3. 手撕算法:
1)无重复字符的最长字符子串长度(a)
2)区间长度,有点类似于区间合并(a)
4. 场景题:M*N的巧克力,将其掰成1*1的小块,不能折叠掰,最少需要多少次
我一开始回答是折叠掰(M+N-2)次,提示不能折叠后我就找规律了,发现符合(M*N-1)次
但是最后面试官告诉我使用DP的思路,其实就是将大问题转化为小问题的思路,我讲的时候也说到了,
但是我把这道题当初一般的场景题了,就没考虑到DP,不知道面试官满不满意。
5. 反问:
1)部门业务:音视频编解码,这块我有一定了解,所以跟面试官聊了聊我的看法
2)为什么基本不问基础:一面比较重视代码能力,后续再考察项目和基础
3)流程:如果有下一面hr会一周内或2-3天内通知

面试体验良好,面试官很年轻,很亲切,算法和问题都不难,好评!
(好想成为大佬.jpg)
#快手科技##内推##面经##C/C++##校招#
全部评论
大佬方便给解释一下((void**)offsetptr)[-1] = mptr;这句话的意思吗?😂
点赞 回复 分享
发布于 2020-09-09 21:19
楼主在oc了吗?
点赞 回复 分享
发布于 2020-09-02 16:24
大佬收到结果了吗?
点赞 回复 分享
发布于 2020-08-31 07:08
我们二面的题目一模一样,不过我觉得这个像是原创题,就没有贴出来😅
点赞 回复 分享
发布于 2020-08-28 11:10
楼主两面过后就直接hr了吗?不是说有三轮技术面
点赞 回复 分享
发布于 2020-08-28 06:39
收到下一面通知了吗
点赞 回复 分享
发布于 2020-08-25 09:10
加油,楼主😸
点赞 回复 分享
发布于 2020-08-18 01:31

相关推荐

查看14道真题和解析
点赞 评论 收藏
分享
个人情况:&nbsp;24&nbsp;届中国矿业本,工科专业,非科班,无工作经验(考研)机考:1.求三个矩形&nbsp;A、B、C&nbsp;相交区域的面积,给出每个矩形的左上顶点坐标以及长宽数据。2.给定一个字符串,该字符串由&nbsp;@&nbsp;分成两部分。@前的部分表示可以使用的字母及其数量。@&nbsp;后的部分表示已经被使用的字母及使用的数量。你需要按原字符串的顺序输出剩余的可使用字母及其剩余数量。例:输入:a3b2c1@a1c1&nbsp;输出:a2b23.寻找单词。给定一系列等长字符串,组成一个二维矩阵。给定一个目标单词,判断是否存在一系列上下左右相邻的字母能够按顺序连成目标单词,若存在,按顺序打印每个字母在矩阵中的位置(连接时每个字母只能用一次)。例:输入:ACCF,CDED,BESS,FECA&nbsp;target:ACCESS组成矩阵:A,C,C,FC,D,E,DB,E,S,SF,E,C,A输出:0,&nbsp;0&nbsp;0,&nbsp;1&nbsp;0,&nbsp;2&nbsp;1,&nbsp;2&nbsp;2,&nbsp;2&nbsp;2,&nbsp;3HR资面:1.自我介绍2.个人情况3.断档原因4.家庭情况5.根据简历内容提问6.觉得自己有什么优势7.是否有其他&nbsp;offer8.为什么选择来&nbsp;OD9.职业规划10.薪资期望11.反问环节技术一面:1.手撕代码:将一组&nbsp;IPv4&nbsp;地址格式的字符串按照升序进行排序,并讲解代码思路。比较规则:192.168.1.1&nbsp;&gt;&nbsp;192.168.0.1&nbsp;172.168.6.1&nbsp;&lt;&nbsp;192.168.0.12.介绍一个自己的项目或作品3.如何对该项目的需求进行分析,并拆分项目功能模块4.项目用到了&nbsp;MVC,讲解&nbsp;M、V、C&nbsp;分别负责了哪些功能5.static&nbsp;的作用6.vector&nbsp;和&nbsp;list&nbsp;的区别7.迭代器的作用8.冒泡排序与快速排序的算法原理9.虚函数与普通函数有什么区别10.多线程与多进程有什么区别技术二面:1.手撕代码:Leetcode&nbsp;165.&nbsp;比较版本号2.简单介绍简历上的一个项目3.该项目的某个功能的算法实现思路4.项目的程序设计问题5.unordered_map&nbsp;的原理6.如何解决哈希表的冲突问题7.进程间的通信方式有哪些8.如何解决在工作中遇到的问题主管面:1.自我介绍2.断档情况了解3.考研目标院校与专业4.为什么选择考这个专业,而不是计算机专业5.为什么当初选择考研而不是找工作6.不是计算机专业,为什么选择这一行7.本科专业、考研目标专业、就业领域方向差异过大,是否觉得自己没有选对方向总结:1.技术面的难度不算太高,问的问题也是八股偏多(大概是因为没有工作经验),其余的也大都与简历内容相关。现场编程题目的难度不算高,但是限时&nbsp;40&nbsp;分钟,平时要注意多加练习。2.HR&nbsp;面比较轻松,回答的时候要以实事求是为主,并要能尽量体现自己:①&nbsp;有正常的交流与逻辑思维能力;②&nbsp;有获得这份工作的意愿;③稳定性好等。3.综面时给的压力很大(因人而异),面试官的提问十分直接和尖锐,问的都是痛点,而且会追根问底。最好对类似的一系列问题提前做一个准备,不要被打个措手不及。4.饼饼老师会发一些算法和面经攻略,准备起来真的便捷很多,大家老实啃透资料基本就没问题了!
华为主管面585人在聊
点赞 评论 收藏
分享
评论
5
47
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务