前端实习面经(回馈牛客网)

春招结束了,最终收到了心仪的offer,由于楼主比较水所以面试的问题也比较基础,发出来给各位同学做个基础篇参考

美团(上海现场面)

一面

自我介绍

说一下浏览器从输入URL到渲染完页面的整个过程

JS如何计算浏览器的渲染时间?

浏览器缓存讲讲

var的变量提升的底层原理是什么?

event loop讲讲(做了两道题)

闭包原理是什么?(做了一道题)

JS的回收机制说一下(计数清除(IE9以前,可能造成内存泄漏),标记清除(V8))

数组常用的方法有哪些?

WebSocket的底层原理讲讲

你的聊天室项目,如果数据传输出错怎么办?(后面想了想这里面试官可能想问的是checksum和错误重传机制?当时没想到,说了点UDP的不足和TCP的错误检测)

场景题:

Q: 现在有一大段文字,如何在页面中设置一个窗口滚动播出这段文字?

A: 用轮播图思想balabala...

Q: 那你怎么解决卡顿问题?

Q: 之前有写过轮播图demo吗?

垂直水平居中的方式(说知道宽高和不知道宽高的两种情况)

如果宽高不同呢?

如果一个元素不设置width,那他的margin有用吗?

分析一下你说的几个方法(flex grid table-cell margin transform)的兼容性,如果要兼容IE你会选哪个?

实现一个三栏布局,中间自适应你知道几种方法?(float absolute table flex 圣杯)

算法题:给一个无序数字数组,里面是随机的数,并给出一个目标值,求这个数组里的两个数,这两个数的和等于目标值。要求求出这两个数并给出下标,你能想到的最优的办法是什么?(快排 + 双指针)

有什么想问我的吗? (略)

二面

自我介绍

算法题两个:

第一题跟一面的相同,我说之前做过了并且说了思想并纠正了一面的不足

第二题是给一个无序数组,让我分割成m组,这m组里和最大的一组要是所有可能的分割情况里最小的。(二分答案法)

对框架的了解

Webpack的原理

原型链

__proto__和prototype分别是什么?

原型链原理

在原型链上Object再往上是什么?

new和Object.create的区别

哪种情况下__proto__和prototype的指向是同一个?

typeof array null undefined NaN分别是什么?

把undefined和null转成Number分别是什么?

如何判断是否为数组?

A: instanceOf和constructor可以,但是有原型链断裂的风险,Object.prototype.toString.call()最稳定

Q: 原型链断裂了以后结果是什么?

A: Obejct

如果让你实现一个Promise你怎么实现?

有什么想问我的? (略)

师兄回来说leader一会想加面一场

HR面

(略)

加面

先看了我的前几次面试评价和写的算法题

怎么学前端的? 看了那些书?

博客写了多少篇?

你的技术亮点在哪?

写一下实现柯里化

你对三大框架的理解是什么?

之前实习做了啥?(主要是前端性能优化)

讲讲前端性能优化

Node.js了解多少?

有什么问题想问我?

百度(牛客视频三面,问的比较基础,动手比较多)

一面

自我介绍,学习方法

你遇到的最有难度的技术问题是什么?

redux原理讲讲

了解web移动端开发吗?移动端适配方案有哪些?

你有Native开发经验,那讲讲Android如何调用页面资源

行内元素和块级元素有哪些?Img属于什么元素?

margin坍塌

BFC原理讲讲

写一下清除浮动

写一下不知道宽高元素垂直水平居中写一下,不能用flex

写一下节点增删改

如何获取元素的父节点和兄弟节点,写一下

JS如何获得用户来源?(navigator.userAgent)

跨域方法说一下

JSONP的原理是什么?除了script标签还可以通过什么标签实现?(静态资源标签)

原型链说一下

写一下原型链继承

你还知道什么继承,写一下(构造函数继承,说了两种方法的优缺点)

缓存讲一讲

你了解的前端性能优化方式有哪些?

给你一个乱序数组,你怎么排序(写了快排)

二面:

你的项目里有什么亮点

你的文件上传方案是什么?

写一个方法提取一下search里的参数

写一个API实现insertAfter

CSS3哪些用的比较多?

CSS3动画会吗?怎么用CSS3动画实现一个loading效果?

如何处理CSS兼容性问题

Webpack有个插件可以解决CSS兼容性问题你知道吗?( postcss-loader)

ES6新特性讲讲

let和var的区别讲讲

箭头函数和ES5的this指向区别讲讲

前端安全这块了解多少?

三面:

自我介绍

写一个API,实现jQuery的$(selector)选择器,要求兼容IE6

浏览器是如何通过你的代码去找到指定的元素的?

说一下你项目的亮点

现在有没有跟着导师做项目?(说了学校科研训练的一些东西)

写一下用JS模拟一个双向链表

问了问工程化思想

模块化思想

你为什么选择前端

还有什么要跟我说的?

面其他公司被考到的题

说说cookie、session、localStorage、sessionStorage的区别

Node.js线程管理

设计模式(需要手写)

跨域的方法有哪些? (说了CORS、jsonp、WebSocket、postMessage、Hash)

说说bind、apply、call的区别以及bind的实现

算法:

反转二叉树以及时间复杂度

链表找环

React的Virtual DOM和Diff算法

React的生命周期

BootStrap底层原理

图片压缩的原理

如何处理高并发情况下,用户顺序问题(如抢购网站如何判定谁先点击)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏偏前端工程师的驿站

CSS魔法堂:你真的理解z-index吗?

一、前言                                 假如只是开发简单的弹窗效果,懂得通过z-index来调整元素间的层叠关系就够了。但要将...

1725
来自专栏V站

javascript实现background 定时循环随机背景图

这里用的固定地址,用的新浪图床,喜欢的话可以自己扩充图片,我这里简短的展示了10个图片!

1263
来自专栏flutter开发者

[Flutter Widget]Chip

在前面的文章中我们看了下Tooltip的用法,在文章的最后也给大家留了一个问题,自定义自己的Tooltip。

1092
来自专栏较真的前端

编写模块化CSS——BEM

2597
来自专栏超然的博客

前端基础精简总结

ES5: String、Number、Boolean、Null、Undefined、Object ES6增: Symbol 其中,object为引用,其...

853
来自专栏前端说吧

JS-鼠标经过显示二级菜单

32210
来自专栏前端达人

2018年最全面的前端面试题都在这里了

意义:根据内容的结构化(内容语义化),选择合适的标签(代码语义化)便于开发者阅读和写出更优雅的代码的同时让浏览器的爬虫和机器很好地解析。 注意: 1.尽可能少的...

1574
来自专栏技术墨客

React学习(9)—— 高阶应用:虚拟Dom差异比对算法

React提供了一系列声明性的API接口,因此在使用时不必担心每次库的更新会修改API接口。这样可以降低编写应用的复杂度,但是带来的问题是无法很好的理解Reac...

572
来自专栏ionic3+

ionic3应该善用组件和指令

其实ionic3(angualr4)和ionic2(angular2)差不多,但和ionic1(angular1)就差别非常大了,可以说基本是推倒了重来。在an...

824
来自专栏守候书阁

自己写的面试题,自己想的答案

因为机缘巧合,让当了无数次面试者的我,当上了面试官,也和几个面试者交流过。既然要应对面试者,我就当然要准备面试题了,好让我大概知道面试者是什么水平。这个时候,也...

822

扫码关注云+社区