HTML5前端高频面试题第十四波
日期:2018-07-16
来源:程序思维浏览:1380次
大家的找到工作了吗?如果还没有找到接着和我学习web前端面试题吧!

1、在开发中怎么与后台合作的?
答:1、通过接口文档拿到json数据。2、用ajax将数据渲染到页面。
2、vue数据双向绑定的实现原理?
答:是采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调。
3、nodejs了解吗?
答:了解。一般我用来配合mongodb开发一些小的接口,和使用他的npm 命令,主要用nodejs做中间件。
4、数组排序有哪些方式?
答:js自带sort(function(a,b)return a-b)方法,或者手动写冒泡或者快速排序。
冒泡排序:
ar examplearr=[8,94,15,88,55,76,21,39];
function sortarr(arr){
for(i=0;i<arr.length-1;i++){
for(j=0;j<arr.length-1-i;j++){
if(arr[j]>arr[j+1]){
var temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
return arr;
}
sortarr(examplearr);
console.log(examplearr);
快速排序:
function quickSort(arr){
//如果数组<=1,则直接返回
if(arr.length<=1){return arr;}
var pivotIndex=Math.floor(arr.length/2);
//找基准,并把基准从原数组删除
var pivot=arr.splice(pivotIndex,1)[0];
//定义左右数组
var left=[];
var right=[];
//比基准小的放在left,比基准大的放在right
for(var i=0;i<arr.length;i++){
if(arr[i]<=pivot){
left.push(arr[i]);
}
else{
right.push(arr[i]);
}
}
//递归
return quickSort(left).concat([pivot],quickSort(right));
}
var arr=[85,24,63,45,17,31,96,50];
var data=quickSort(arr);
console.log(data);
5、用css如何实现左侧宽度固定,右侧宽度自适应?
答:1、flex布局。2、margin配合float实现。3、使用calc计算属性。
6、你们公司技术团队人员分配?
答:如果是小型项目:一个产品经理、一个设计师、一个前端工程师、一个后端工程师总共4个人。
7、如何开发响应式网站开发?
答:第一、传统使用boostrap.boostrap也是基于媒体查询来实现响应式的。第二、注意使用百分比或者rem布局。
8、js数据类型有哪些?
答:6种数据类型:string、number、boolean、object、undefined、array。ES6中新加symbol。
9、在工作中如何配合安卓和ios开发工程师?
答:基本上通过webview来实现安卓或者ios对js的交互。
10、项目结构是如何搭建的?
答:现在基本上使用vue脚手架来搭建结构,手动搭建过程是npm init初始化结构,配置webpackjson和git仓库,还有安装依赖,创建static.view等对应文件夹并开始编写代码。

1、在开发中怎么与后台合作的?
答:1、通过接口文档拿到json数据。2、用ajax将数据渲染到页面。
2、vue数据双向绑定的实现原理?
答:是采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调。
3、nodejs了解吗?
答:了解。一般我用来配合mongodb开发一些小的接口,和使用他的npm 命令,主要用nodejs做中间件。
4、数组排序有哪些方式?
答:js自带sort(function(a,b)return a-b)方法,或者手动写冒泡或者快速排序。
冒泡排序:
ar examplearr=[8,94,15,88,55,76,21,39];
function sortarr(arr){
for(i=0;i<arr.length-1;i++){
for(j=0;j<arr.length-1-i;j++){
if(arr[j]>arr[j+1]){
var temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
return arr;
}
sortarr(examplearr);
console.log(examplearr);
快速排序:
function quickSort(arr){
//如果数组<=1,则直接返回
if(arr.length<=1){return arr;}
var pivotIndex=Math.floor(arr.length/2);
//找基准,并把基准从原数组删除
var pivot=arr.splice(pivotIndex,1)[0];
//定义左右数组
var left=[];
var right=[];
//比基准小的放在left,比基准大的放在right
for(var i=0;i<arr.length;i++){
if(arr[i]<=pivot){
left.push(arr[i]);
}
else{
right.push(arr[i]);
}
}
//递归
return quickSort(left).concat([pivot],quickSort(right));
}
var arr=[85,24,63,45,17,31,96,50];
var data=quickSort(arr);
console.log(data);
5、用css如何实现左侧宽度固定,右侧宽度自适应?
答:1、flex布局。2、margin配合float实现。3、使用calc计算属性。
6、你们公司技术团队人员分配?
答:如果是小型项目:一个产品经理、一个设计师、一个前端工程师、一个后端工程师总共4个人。
7、如何开发响应式网站开发?
答:第一、传统使用boostrap.boostrap也是基于媒体查询来实现响应式的。第二、注意使用百分比或者rem布局。
8、js数据类型有哪些?
答:6种数据类型:string、number、boolean、object、undefined、array。ES6中新加symbol。
9、在工作中如何配合安卓和ios开发工程师?
答:基本上通过webview来实现安卓或者ios对js的交互。
10、项目结构是如何搭建的?
答:现在基本上使用vue脚手架来搭建结构,手动搭建过程是npm init初始化结构,配置webpackjson和git仓库,还有安装依赖,创建static.view等对应文件夹并开始编写代码。
- 上一篇:HTML5前端高频面试题第十三波
- 下一篇:web前端高频面试题第十五波
精品好课