您的位置:首页 > Web前端

字节跳动前端暑期实习一面总结

2019-03-09 21:52 375 查看
版权声明:本文为博主的原创文章,转载请注明出处! https://blog.csdn.net/weixin_41631970/article/details/88372083

       昨天字节跳动前端实习一面,整理一下面试题以供参考。面试官是一个很温柔的男生,标准的技术男。一开始牛客出了点问题,我们互相听不到声音,我换了台电脑就开始面试了。

自我介绍

       我是xxx,来自厦门大学软件学院软件工程专业,今年大三。我属于比较外向开朗的人,喜欢尝试一些新鲜事物,喜欢学习新技术。我自己现在还不能把自己定义成一个优秀的人,但我非常希望有机会能跟一群优秀的人做有挑战的事。(字节跳动的公司口号:跟优秀的人做有挑战的事)

问简历上的项目

       问的特别细,我面的是前端,但简历上写了做过的两个后端的项目。面试官从api设计到一些业务逻辑到持久层框架再到数据库设计从头到尾问了个遍,可能怕我简历是编的吧。

前端技术

开场白:说下你的技术栈。       我:vue。

1.说一下你知道的http状态码
2xx的表示请求被服务器接受:比如200表示请求成功,服务器返回响应;201表示请求成功,服务器创建资源,url随响应返回。
3xx的表示需要需要再进行一些操作,重定向这样:比如301表示资源位置变了,但服务器会自动将请求转过去;304表示上次请求之后网页没有变更。
4xx的表示错误:比如404表示资源请求失败;401表示身份认证失败;403表示服务器接收了请求,但拒绝执行。
5xx的表示服务器内部错误:比如500表示服务器发生了不可预知的错误;503表示服务器宕机或者过载。
追问:你说了2到5,那1开头的呢?
我:我忘了。

2. jsonp的原理和ajax的原理
因为<script>标签是不受同源策略限制的,jsonp方法就是利用这个原理,把一些数据放到<script>标签的scr的url后面。
ajax是通过XmlHttpRequest,原生的具体我不知道。(面试官很贴心的跟我说,没关系,也没人用原生的)

3. 你刚刚提到了跨域,说下跨域的方法。
最简单的ping图片,因为<img>标签也不受同源策略限制,所以可以把一些数据放在<img>标签的src后面,跟jsonp差不多。
设置window.domain跨子域,这里不小心说了个frame,当时慌了一下怕他详细问,但后来没问。
前后端资源共享的时候,用CORS跨域,服务端设置开放的域名和端口。

4. 了解webpack吗?看过他的源码吗?写过配置文件吗?
只知道是vue的默认打包工具,用过但没研究过。

5. vue的话es6新特性应该用过挺多的吧?promise用过吗?
没用过,大概了解,可以增强回调函数可读性,原生的回调函数一层一层可读性不好,用promise之后配合箭头函数清晰了很多,然后大概讲了一下原理。

6. 说说箭头函数吧,用箭头函数this指向,普通情况this指向?
用箭头函数的话this就一直指向函数定义时候的域不会改变,普通的话this是指向最后一次调用的函数的对象。

7. <script src=’xxx’ ’xxx’/>外部js文件先加载还是onload先执行,为什么?
先加载,因为onload是加载完之后在发生的。

8. 说下v-model语法糖?
v-bind绑定一个属性,v-on响应view层的事件,然后去修改model。
追问:v-bind不是原生的js阿,知道原生的吗?
我:这里不太清楚,不好意思。

9. 说下git merge和git rebase的区别?
先讲了一下git merge,然后我说我理解的git rebase是把git的分支的很多条时间线合并成一条的,我没用过他来合并分支。然后面试官详细地讲了一下git rebase的原理。

10. 说下浏览器的同源策略,为什么要有这种同源策略?
域名/端口/协议不同就属于不同的域。如果没有同源策略的话,a能共享b的资源,a能访问到b的cookie、session啥的那就出问题了阿。

11. 其他框架了解吗?react,angular?vue是渐进式框架,对比这两个怎么理解vue渐进式?
我的理解是,相对于react和angular,vue的主张最弱,像angular要求必须用它的依赖注入和模块机制,react要求函数式编程,但vue就没有这种主张。还有一个就是用vue的话,最小可以把一个框架里的几个组件用vue改写,或者直接用vue做全家桶开发,就一点点渐进这种感觉。(也不知道面试官满不满意…)

数据结构和算法

开场白:我看你成绩不错阿。
我:呃,还行吧…(慌得不行)
面试官:gpa这不是挺高的吗。
我:公共课比较低。
面试官:我也不看你公共课呀,我们来问点学校里学的,数据结构和算法学过吧?

①说几种排序算法吧,复杂度是n^2的有什么,nlogn的有什么?(没说几个…紧张的想不起来有什么排序算法了)
②说下稳定排序和不稳定排序?
③快排是稳定排序还是不稳定排序?为什么?
④你刚刚说了桶排序,说下过程?桶排序复杂度?(面试官一脸迷茫,我感觉他应该忘了桶排序的过程)
⑤二叉树知道吧?前序中序后序遍历写一下?(我写了递归的) 4000
⑥不递归的会吗?(我说试试,写了一个他说思路对,不用写了)

复习的时候根本就没看数据结构,凭着理解随便写的…

结束语

       虽然有几个问题没答上来,但一面还是顺利通过了,面试官说HR会再联系我约二面时间。
       面经这东西,我感觉还是不要太迷恋。可能看了别人的面经,发现哇上面的问题都不会,没信心了心态崩了。但实际上面试官都是很友好的,他会顺着你会的往下问,不会故意为难人。所以别人的面经都是面试官顺着他会的技术问下去,但你面试的时候,面试官会顺着你会的技术往下问。
       所以面经看看就好,把自己的技术打磨好才是关键,这样就不怕任何面试题了。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: