TimeLine
- 1.3官网申请提交简历
- 1.6收到面试通知
- 1.17一面
- 1.18二面
- 1.18收到三面通知
- 1.21三面
0117一面
- 英文自我介绍(2-3min)
- 提问(10min)
介绍自己最近做的项目内容; 介绍项目简介; 自己讲述一下做项目过程中的难点; - 口述题目写代码:
第一题原题:在排序数组中查找元素的第一个和最后一个位置 第二题貌似是一个系统设计题: 题目的意思很复杂:针对一个用户平台,求出每个月的新用户使用比例 给定用户id,用户tag和用户浏览区间 计算出一年内每个月的新用户比例 - 面试官提问有什么问题需要问他们
整体:面试的时候感觉小姐姐很和善,第一题我写了很久也没有细说(有可能旨在从遍历到一次二分左右遍历到两次二分的优化过程);之后的系统设计题我提出区间的累加和新用户的判断使用线段树和集合判断是否去重,面试官感觉都不太对,然而时间来不及就结束了。
0118 二面
- 中文自我介绍(2-3min)
- 提问(20min)
关于最近的项目内容; 最近项目中自己承担的工作; 讲述一下做项目过程中的难点和关键技术; 讲述一下自己做项目的收获;详细讲述数据预处理和数据模型的搭建; 对于后端接口api是否使用restapi,接口测试设计测试用例的方法,是否为单元测试; 数据的规模,数据是否实时更新等等 (项目有关neo4j,之后又问了neo4j相关的知识) - 口述题目写代码(20min)
老题目:最大子数组和并设计测试用例 新题目变形:求出旋转数组的最大子数组和(即对于[1,2,-1,2]的旋转数组,最大子数组和为5,从最后的2,再到数组首位1,2) - 面试官提问有什么问题需要问他们
整体:面试的时候小哥哥介绍自己为软件开发工程师,可能因此问了许多关于项目后端的知识,之后写代码的时候我也只写出了第一个老题目(其中设计测试用例的时候也发现了一些bug,没有写出新题目)
0121可怕的三面
- 中文自我介绍(2-3min)
- 简单讲述最近的项目(3-5min)
- 口述做题
设计一个addOne函数实现输入一个字符串,判断其是否为合法整数,并且如果是合法整数则+1输出计算后字符串;如果不是则自己思考设计输出和表示; - 面试官提问有什么问题需要问他们
整体:面试的时候小哥哥没有开摄像头,因此自己非常紧张,做题的时候也需要自己设计什么为合法的整数,并且对于不是合法整数需要自己考虑设计如何输出;整体我写了两个函数实现负整数和非负整数的加减,很少和面试官形成交流;之后因为我写的差不多后存在bug,因此我开始设计测试用例,之后面试官提出希望我通过测试用例判断我的代码bug,没有给我具体的提示;并且要求我利用最后5min时间来重构代码,我试图重新构造后他提出这不是他最好的优化。感觉挂了orz
|