一、投递信息
投递时间:2020年3月9日
岗位:前端开发工程师
工作地点:杭州
信息来源:牛客网
面试时间:2020年3月11日晚8:00
面试方式:电话面试+笔试
面试时长:20分钟+20分钟
二、面试官问题
- 自我介绍
- 介绍圈存机流水异常检测项目
- Centos环境部署(也是项目中的一部分)
- 服务端代码是用python写的吗?(是)
- Nginx在项目中起到什么作用?
答:将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求。nginx把所有静态请求自己来处理(这是NGINX的强项)。然后,NGINX将所有非静态请求通过uwsgi传递给Django,由Django来进行处理,从而完成一次WEB请求。uwsgi的作用就类似一个桥接器。起到桥梁的作用。 - 哪一部分通信在Nginx中运行?
- Nginx本身是干什么的?
- 会写Nginx的conf吗?(写了,说了一下写的啥)
- 用过更高级的框架吗?(没有)
- 介绍基于WIFI的考勤打卡项目
- 了解Echarts的底层实现吗?(不了解)
- 小程序开发相比于H5来说有什么优势?为什么会出现小程序呢?
- 四层或者七层网络模型
- TCP、IP分别属于哪一层?(TCP是传输层,IP是网络层)
- 进程通信的方式
- 数据库的范式以及要求
- 数据库常见的优化手段
- 怎么学习新的技术知识(官方文档、看书、博客)
- 最近半年或者一年以内了解到新的技术点可以分享一下吗?
- 小程序原理及优势
三、笔试题
2道题,语言不限,时间20-30分钟
- 问题一:
给定 n 个整数,找出平均数最大且长度为 k 的连续子数组,并输出该最大平均数。
示例 1:
输入: [1,12,-5,-6,50,3], k = 4
输出: 12.75
解释: 最大平均数 (12-5-6+50)/4 = 51/4 = 12.75
注意:
1.1 <= k <= n <= 30,000。
2.所给数据范围 [-10,000,10,000]。 -->
function max(arr,k){
let len = arr.length;
if(!len) return [];
let sum = [];
for(let i=0;i+k<len;i++){
let res = arr.slice(i,i+k);
console.log('res:',res);
sum = Math.max.apply(Math,res);
console.log("sum:",sum);
}
return sum/k;
}
- 问题二:
给定一个数组,里面全部是正整数。其数字大小表示这一步最多可以向后移动几个节点。总是从数组第一个元素开始移动。请问如何移动,可以以最少步数移动到最后一个节点。
补充说明:给定数据是[3,4,2,1,3,1]。 初始状态指向3 表示下一步可以移动1格 或者 2格 或者3格。
并能正确通过以下测试用例:
console.log(solve([4, 4, 9, 1, 3, 1, 8, 5])); //[4, 9, 5]
console.log(solve([1, 3, 4, 2, 1, 1]));//[1, 3, 4, 1]
function pathMin(arr){
let len = arr.length; //数组长度
let maxpos = 0; //最大值位置
let path = [arr[0]]; //路径
let pos; //位置
let posval; //值
let maxval; //最大值
while(true){
maxval = 0;
pos = maxpos;
posval = arr[pos];
for(let i=pos+1; i<posval+pos; i++){
if(arr[i] > maxval){
maxval = arr[i];
maxpos = i;
}
}
path.push(maxval);
if(maxval === arr[len-1]){
break;
}
else if(maxval+maxpos > len -1){
path.push(arr[len-1]);
break;
}
}
return path;
}
四、我的提问
- 实习时间有什么要求?
没有具体的要求,实习最主要是完成一个项目,然后涉及到答辩和转正。 - 您看到我的简历,你觉得有什么可以改进的地方吗?
应该多提到你在项目中干的事情,体现出你在项目中的思考和价值,遇到问题怎么解决。
五、感想
- 小哥哥声音太好听了!!我这个女人,真的是!!
- 面试基本都是项目中的问题,我却回答的还这么差劲,差劲!
- 脑子更抽抽的是,在面试官和我电话面试的过程中,又有一个阿里巴巴的电话打过来,我没接,但是,我居然问面试官是不是他们部门找我,面试官说不是,你确定是阿里巴巴的电话的话有可能是你投递了其他的部门。。。我,这,个,脑,子,总会把自己陷入特别尴尬的境地。。。
- 那个阿里巴巴的电话打了两个,我都没接。。面试完后,我回过去,发现不能这是座机,不能回拨,心在滴血!一直在默默祈祷他们还会给我再打过来的。
- 不得不说,阿里巴巴晚上8点左右打过来的电话预约面试时间,最终确定的面试时间也是晚上8点,另一个阿里巴巴部门打电话的时间也是晚上8点左右(就是这个面试官正面我的时候),后来我没接电话的阿里巴巴又在第二天晚上8点打过来约的另一个晚上8点面试。嗯。。。不知道我写的乱不,反正记住晚上8点黄金档吧。。。