声明:本文作者:炼狱的吹笛人 原文链接:https://www.jianshu.com/p/a44f2e25d98d
人在杭州,投的是深圳岗,所以是在牛客网上的视频面试。
1 一面
- 项目相关
- 介绍一个项目
- 为什么考虑使用Spark?
- 使用华为的服务减少了哪些运维工作?
- 你觉得项目中有哪些比较有意思的点?
- 数据处理方面做了哪些工作?
- 用Redis做了什么?使用过Redis的什么命令?什么情况下会用到flush?
- 如果一个信息更新非常频繁会怎么应对?
前面的结合自己的实际经验回答即可。
最后一题答使用了消息队列做缓冲。
- 手写代码
很经典的一个二叉树镜像问题,让我做两个事情:
- 如何将这个问题进行抽象(其实就是算法的思路)
- 实现算法
面试官看完我的代码后进行了追问:
Worst case下你的代码的时间和空间复杂度?
- 书本上的问题
面试官也注意到我不是科班出身,答得出来就答打不出来就算了(令人感动>_<+)
- Windows系统中文件信息是存放在哪里的?
- 双击文件夹时,如何获取里面的信息?
- 了解TCP和UDP吗?各有什么特点?各举一个场景?
面试官很和蔼,人超nice的。前面的内容毕竟是自己项目的,答得较有底气;代码题以前也见到过,比较容易就写出来。但是操作系统的问题确实是一问一个懵,好在后面的网络正好前一天复习到。。。
- 我的提问
后端部门的业务怎么划分?
2 二面
一面技术后,够了大约十到十五分钟,就进入了二面。这次的难度进行了全面升级。。。
- 基本情况
- 自我介绍
- 介绍一个项目
- 说一下项目中难点
- 操作系统
- 进程间的通信方式有哪些?
- 哪种效率最高?为什么?
- 内核态在什么时候调用?
- 字节对齐有了解吗?
- 计算机网络
- UDP最长长度是多少?(此时我回答了不清楚)
- UDP的包头有什么?
- 包头中有多少个字节用来表示长度?
- UDP最长长度是多少?
从这里可以看出来,面试官的提问很有技巧,通过一步步引导我思考,中间偶尔纠正我的错误,最终能把问题引回到最初。既考察了我的基础知识,也顺带让我学习了一波。
- 数据结构
- 最大堆有什么特点?
- 构造最大堆的过程?时间复杂度是多少?
- 堆排序的过程?时间复杂度是多少?
当时忘记构造二叉堆有坑,完全掉坑里了。。
- 算法
- 说明如何求斐波那契数列的第N项?
- 为什么你选择迭代而不是递归的方法?
- 怎么求根号N的近似值?要求精度在小数点后5位(我说了二分法并解释了大致思路)
- 你的方法的终止条件是什么?
- 不知道归在哪一类
最近在学习什么?(我回答说地理相关的开源组件,然后没再问下去了) - 场景实现
两个系统,一个机器上有大约1k的小文件,共10G,系统间网络很差,怎么高效地把所有文件从一个系统传送到另一个系统?
这个问题花了很久的时间,我提出自己的实现后,会问我这样实现会有什么问题?还能不能继续优化(网络的硬件层面已经定死了,主要是应用层面怎么优化)?这方面确实不懂,基本只能胡扯,磕磕巴巴说了一些,但是面试官还是听了下去并引导我进行分析,但无奈水平太差提不出什么好点子(掩面哭泣)
- 手写代码
一个角色,从二维矩阵的左上角移动到右下角,每次只能右移或下移,生命值会随着遇到的格子里的数字加减(整数加负数减),到终点变成0就死掉。问初始生命值最少要多少才能安全抵达?
一开始说的是统计所有路径中最后血量的最小值,负数取反加一,正数为0。后来面试官补充说,在中途变成0也会立即死掉,而且在开头变0也会死。我一下子没反应过来思考了一下,面试官就主动降低了难度,说把条件设置成一维,且角色只能右移。虽然后面写出了代码,但他没有评价,大概也不太满意。
- 我的提问
对技术栈的要求?
一面感觉良好,但是二面感觉凉透了。计算机网络一问三不知,系统设计漏洞百出,数据结构踩了坑,算法题还主动被降难度=_=自己作为非科班出身的半路出家码农,确实还有很多需要补充的基础知识和技能。希望以后的面试能吸取经验教训,每次都能比前一次更顺利一点!加油,鹿小葵
更新:没想到二面也通过,收到了预约三面的短信,而三面依旧是技术面。这次得要吸取教训,准备得好一点!
公众号
逆锋起笔
专注分享Java
、Python
、前端、大厂经验、职业发展干货;每天下午 14:40 推送,每个程序员值得关注的技术平台。关注即送小编整理的精品视频教程
3 三面
- 项目
- 自我介绍
- 项目里的难点或者有趣的地方
此处面试官多次提问“难点在哪里呢”,看来有必要好好练习这一块Σ( ° △ °|||)︴
- JVM
提问前面试官先问我Java、SpringBoot、MySQL、Redis的熟悉程度,我回答前两项较熟。这里是对着简历问的,可见简历不能瞎写。戏说不是胡说
- 什么是GC?为什么要GC?GC有哪些算法?
- 什么是垃圾?怎么判断它是垃圾?
- 什么是STW?为什么要STW?会带来什么影响?有没有减少STW时间的方法?
- Java并发编程
- 什么是线程安全?
- Java中确保线程安全有什么方法、工具或者容器?
- (我刚说的)重入锁、倒计数器、循环栅栏等分别是啥?有什么用?在什么情况下使用?
- 了解CopyOnWriteArrayList吗?在什么条件下用它?
-
手写代码
把一个中文表示的正整数转成Int,如输入字符串“五千三百万零五百零一”,输出53000501。其中输入的数字小于一亿(且不包括一亿)。
说是先给二十分钟搞出一版,我搞出一版后发现编译不通过还在调,他就直接让我说思路,然后就完了。。。(慌) -
其他
- 以后的工作规划(技术面咋问起这来了)
- 提问环节
这次运气好,问的专业问题几乎都复习到了,算法题也不算难。但是面试官全程冷漠脸,既不肯定我,也不纠正我,搞得心里很没底。最后说了一句“这次面试先结束了,以后常联系”,不知道是好是坏呢~
4 后续
过了十天左右,收到了offer call和意向书,很开心~由于我面的公司还不算多,不能横向比较,但是字节跳动的面试难度给我的感觉还是挺大的,尤其二面快给我问懵了。面试官喜欢让你讲项目里比较难的或有意思的点,专业知识很注重基础,但不是说背下来就行,需要自己深入去理解的那种;但是相对来说,代码题就比较简单了,只要不被前面的问题吓到,都是能做出来的。
公众号
逆锋起笔
专注分享Java
、Python
、前端、大厂经验、职业发展干货;每天下午 14:40 推送,每个程序员值得关注的技术平台。关注即送小编整理的精品视频教程
相关推荐
三轮车Matlab仿真运动,里面包括三维旋转矩阵,车型建立等
恩智浦杯第十三届比赛电磁三轮车跑完全程程序
KEA128项目是基于恩智浦微控制器的一个工程实例,主要应用于电磁直立系统,特别是电磁三轮车辆的控制。这个项目在2018年4月21日完成了移植工作,意味着它已经被适配到特定硬件平台并能够正常运行。该项目的核心在于...
华南理工大学电磁组飞思卡尔大赛智能车的全部程序代码
1. 三轮DES(如下图所示)差分攻击实例,任选一组明密文对进行差分分析。明文:0x8066928BFAECD99D 密文:0X57DECC86A26EA1DC明文:0xF9187686FAECD99D 密文:0X699074ED42BBAA8A明文:0xBCCB0915FB9DAD15 密文:0X1...
附参考答案 · 2022 步步高 Java 后端 6 面面经 · 2022 金蝶 Java 后三面面经(已OC) · 2022 四年经验高级 Java 工程师面经 · 2022 字节跳动 Java 后端实习面经(附参考答案) · 2022 字节跳动 Java 后端实习...
文件内包含的是已标注的非机动车数据集中的三轮车tricycle2的图片部分加标注数据部分 限于上传文件大小,此资源内只包含三轮车数据的tricycle2的图片部分加标注数据部分,有811张,三轮车数据总共有八个分类,此为第...
文件内包含的是已标注的非机动车数据集中的三轮车tricycle7的图片部分加标注数据部分 限于上传文件大小,此资源内只包含三轮车数据的tricycle7的图片部分加标注数据部分,有1021张,三轮车数据总共有八个分类,此为...
文件内包含的是已标注的非机动车数据集中的三轮车tricycle8的图片部分加标注数据部分 限于上传文件大小,此资源内只包含三轮车数据的tricycle8的图片部分加标注数据部分,有784张,三轮车数据总共有八个分类,此为第...
文件内包含的是已标注的非机动车数据集中的三轮车tricycle6的图片部分加标注数据部分 限于上传文件大小,此资源内只包含三轮车数据的tricycle6的图片部分加标注数据部分,有638张,三轮车数据总共有八个分类,此为第...
文件内包含的是已标注的非机动车数据集中的三轮车tricycle5的图片部分加标注数据部分 限于上传文件大小,此资源内只包含三轮车数据的tricycle5的图片部分加标注数据部分,有658张,三轮车数据总共有八个分类,此为第...
文件内包含的是已标注的非机动车数据集中的三轮车tricycle4的图片部分加标注数据部分 限于上传文件大小,此资源内只包含三轮车数据的tricycle4的图片部分加标注数据部分,有693张,三轮车数据总共有八个分类,此为第...
文件内包含的是已标注的非机动车数据集中的三轮车tricycle3的图片部分加标注数据部分 限于上传文件大小,此资源内只包含三轮车数据的tricycle3的图片部分加标注数据部分,有731张,三轮车数据总共有八个分类,此为第...
文件内包含的是已标注的非机动车数据集中的三轮车tricycle1的图片部分加标注数据部分 限于上传文件大小,此资源内只包含三轮车数据的tricycle1的图片部分加标注数据部分,有957张,三轮车数据总共有八个分类,此为第...
HTML5 画布技术是现代网页开发中的一个重要组成部分,它提供了在浏览器中进行图形绘制的能力。在这个场景中,我们讨论的是一个使用HTML5画布和JavaScript实现的遗传算法项目,名为"3-wheelers",其目标是通过进化...
### 字节跳动大数据面试题知识点汇总 #### 面试一轮知识点 1. **自我介绍** 自我介绍不仅是个人经历的简单概述,也是评估候选人表达能力、逻辑思维和沟通技巧的重要环节。 2. **Hadoop平台升级** - **升级...
9类道路车辆识别检测数据集2534张含yolo格式txt标签(自行车_公交车_汽车_电动自行车_吉普尼_摩托车_三轮车_卡车_面包车)第1部分.zip 9类道路车辆识别检测数据集2534张含yolo格式txt标签(自行车_公交车_汽车_电动...
综上所述,这个压缩包中的资料是学习和研究三轮拖拉机机械设计的宝贵资源,不仅可以增进对机械设备设计的理解,还能提升工程技术人员的专业技能。对于从事农业机械设计、制造和维修的人员来说,这些都是必不可少的...
1、俯视场景下三轮车目标检测数据集,用于三轮车检测,标签格式为txt和xml两种。可以用于YOLO三轮车检测 2、一个类别,类别名为 tricycle 3、数据参考和检测结果展示:...4、数量:2270 5、从Visdrones数据集总提取得到
在当前的数字化时代,深度学习和人工智能已经成为解决复杂问题的关键技术。这个名为“不同场景三轮车数据”的压缩包文件,显然为深度学习提供了一个专门针对三轮车图像的训练和测试集,这对于开发和优化计算机视觉...