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)
全部评论
(7) 回帖