北京独到科技前端实习生面经 大三

如何获取dom元素?

document.getElementById,.getElementByTagName,

这俩有什么区别呢?

一个是获取到的是id为参数的dom元素,一个是获取到标签为xx的dom数组

js的数组的成员函数列举一些?

map,filter,用来筛选数据的,循环遍历。除了遍历的稍微有点忘记了。。

比如说想在数组里添加元素?

用push,pop可以推出,像栈一样。

连接两个数组的方法?

concat,截取:splice是改变原数组,slice是返回一个新数组。

splice参数还有具体功能?

是一个删除数组元素,有三个参数,第一个是begin,第二个是end,第三个是如果说往里添加的元素。

那他除了删除还有什么其他的用法呢?

可以直接添加元素,在指定位置插入。还有替换。

数组的排序方法?

用sort。

sort有什么局限性?

只能是按数字的大小来排,如果说数组里是一些字符串之类的。如果想要按自己的规定来排的话需要修改一下这个方法。。(这个可能不太对)

数组的去重能够讲一下有几种方法吗?

可以手动去重,也可以用es6新出的set可以去除重复元素。

具体怎么写能大概说一下吗?

新建一个set,把数组元素循环放进set里。或者可以用解构赋值。

这样的话他的返回值就不是一个数组了,他的返回值就是一个set类型的了

对,也可以手动把它变成数组,用Array.from

call和apply的区别?

他们都是改变this指向,但是call后面得参数是一个一个传的,apply是传了一个数组。

怎么建立一个ajax请求?用原生js

建立一个xmlhttprequest,。。我做小程序的时候一般用wx.request。。

es6的promise了解过吗?

是用来解决异步操作的,解决异步操作的还有generator,和async/await,我因为微信小程序里有回调地狱的问题,后来用promise解决回调地狱的问题。

快速排序讲一下原理?

快排是先找到一个枢纽,以这个枢纽,把数组中比他小的放一边,比他大的放一边,然后再在左边进行重复的操作。

你还能想到其他比较常用的排序方法吗?

冒泡,选择排序,希尔排序,归并排序。。

归并排序讲一下?

归并排序是先分组,一组一组的比较,从小组变成大组,最后一次遍历的时候是整个数组是一组。(这个面试的时候大小说反了)

常用的http方法有哪些?

get,post。get主要是放在url里,以明文的形式发送的。post是看不见的。get一般浏览器会给他规定一个大小。ie应该是2k,chrome应该是8k。但是其实w3c没有规定大小,都是浏览器自己规定的。

get请求类似于数据库中的查找的功能。所以说一般的网页就像查看商品的详细信息之类都可以用get来做。get可以缓存到浏览器里。下次再打开的时候不一定需要发送请求了。但是post是每次打开网页都需要发送请求的。而且post主要是做增删的操作。比如用户登录的时候,或者发帖的操作,比较隐私的操作的时候,用post。

http常用的状态码?

1开头的主要是接收,正在处理。2开头的是成功。3开头的,301是永久重定向,302是临时重定向。4开头的是页面这边的错误,404是资源找不到了。500是服务器错误。

我现在有一个对象组成的数组,我数组里的每一项都是一个对象,每一个对象里包含的值可能也是数组,数组里还有对象。我希望对这个数组进行一个深拷贝。要怎么实现?

用递归,或者用JSON.stringify(JSON.prase)可以做这个。我想到的是这两种。

Object对象的常用方法?

tostring,其他的记不太清了。(其实回来一看还有很多很多。比如:Object.key(), Object.getOwnPropertyNames(), Object.getPrototypeOf(), Object.valueOf(), Object.hasOwnProperty(), Object.isPropertyOf(), Object.isEnumerable(), Object.setter(), Object.getter(), Object.assign(),这个是复制对象自身的可枚举属性,可以深拷贝用也可以浅拷贝用。

还是深拷贝类型的数组,两个数组,结构是一样的,可能值是有差别的,我想拿到这两个数组的交集,你有什么思路?

循环比较大的那个,看小的有没有他的属性啊这样。。

我想问一下你的实习时间大概是多长?

我是7月中旬,然后可以实习6个月

我们这边暂时是周一到周六上班

那包饭吗哈哈哈

包午饭哈哈哈,晚饭可能要自己解决。你有什么问题吗?

如果我能去公司的话,我大概是做哪方面呢?

这边有PC端和手机端的两个项目,主要框架是angular。

那请您对我这个面试做个点评吧

我觉得你基础还可以把,但是感觉还是有点太依赖小程序这边了。因为我问你的有些问题,你这边给我的回答就是可能他是封装好的,或者是只有跟这个有关的,所以不太记得。我觉得有一些原理性的东西或者是怎么实现的还是多了解一些吧。了解底层的话有一些问题才能解决的比较快。然后就是像框架,这种css的flex布局,可能会在公司里做项目会用的比较多吧。私下里还是多了解一些吧。

还有就是公司对实习生的培养计划是什么样的呀?

公司目前处于前期发展阶段,不管是实习生还是比较正式的。都是会做比较核心的业务,不会做一些偏重复性的工作。以三个月为一个周期,看一下这个人的学习能力和各方面的素质,再决定以后的培养方向。

 

总结:

这次是小姐姐面试我!声音很好听,最后给我的点评也很用心。感谢她♥~~对自己来说,面试越来越不紧张了,“嗯,啊”重听录音的时候越来越少了,也越来越有逻辑了。非常开心可以得到肯定。金三银四过去了,但是我相信总有一个座位是给我空着的!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值