前端面试知识点--4

    xiaoxiao2023-03-24  2

    来自牛客网的面经 Javascript 是一种弱类型语言,它分别有什么优点和缺点? Javascript 里面的数据类型有哪些? 在 js 里 call() 与 apply() 有什么相同和不同? XML 和 JSON 有过了解吧?能说一下分别介绍一下他们吗? JSON 有什么优势? 你最近都在看哪些书? 《高性能网站建设》这本书里讲了些什么?对你有什么帮助? 看到你简历里写有了解 CSS3 ,那么我想问你,你可以说下 CSS3 有哪些新特性吗? 简历上面说你对 C# 和 PHP 也有学习,你能分别介绍一下这两种技术吗? 当你访问一个网站时,会用到哪些协议? 在和服务器建立连接时,用的是 TCP 还是 UDP? 你是计算机专业,那么对数据结构和基本的算法一定有些认识,你可以说说有哪些常见的排序算法吗? 快速排序算法是一种稳定的算法吗?它的最坏复杂度是多少?平均复杂度呢? 那么在 C++ 里面,堆栈最大的不同点是什么? 你用 JS 实现过一些基本的数据结构吗? 对于 Node.js 你了解多少?

    1.jquery绑定click的方法有几种 2.你的优点/竞争力 3.移动端适配问题 (自己查吧) 4.react的难点在哪里 5.做过css动画吗 css3新特性(最熟悉的),html5(websocket等) 6.如何优化网站 7.以后的规划

    数组去重 position的几种值 css选择器优先级 伪类的用法 闭包 闭包的实现举例 浮动 清除浮动 jsonp是啥 跨域是啥 跨域的方法 gulp怎么用,用过啥

    require的读取顺序 图片轮播 sass的伪类怎么嵌套 jsonp是啥 怎么用jsonp 发送jsonp时候的那个消息头长什么样子? 一个文本框,需要两个控件对里面的值进行控制,一个是+1一个是-1,要求每点击一次就有个提示框冒出来。 而且文本框是可修改的,每次修改也会冒出提示框。 css定位

    css position的几种值与区别 闭包 html5的新功能了解多少 说说离线存储 它们与cookie的区别 this的理解 怎么传入this apply和call的区别

    你用过哪些优化(我说了css sprite和减少http请求,顺便引出了webpack,但没想到她也没有问) gulp你是怎么用的 jsonp是啥 怎么跨域 为什么要跨域 怎么学习的 position几种值 具体运用是什么 display几种值 兼容性你懂多少(我就说了Ajax的还有盒子模型,但她说还有很多,但之前我说了没有系统地去学过css,都是不会的时候查文档的,估计因为这样所以她也没有追问下去) 说说你了解的框架(我说了react和vue) react你觉得怎样(我说了一些组件化和虚拟dom树的东西) AngularJS呢(我说没有学过,但了解过一点,我把我了解的都说了给她听) 两个的比较 为什么你会觉得AngularJS笨重?(也是自己的看法,mvc框架嘛,一整套什么都有) jQuery还是原生js(百度的面试官都问了这个问题,我直接说对于jQuery我并不是很熟悉,因为我更喜欢研究原生js。) 为什么选择原生js(我认为要把原生吃透再去理解其他类库的话会更好一点,她说也是)

    html语义化 h5新标签 es6 promise promise解决了你什么问题 跨域的方法 jsonp怎么用 用过什么库 gulp的插件用过啥 webpack 为什么要打包 (我说了http请求那点事) 介绍一下react 组件化是啥 你觉的react的优点 为什么没有选择学习AngularJS flex 响应式布局是啥 响应式布局是根据什么进行响应 css中用什么进行屏幕的判定 css中实现阴影的有什么

    点击a标签发生了啥 http2您说说 说说各种框架 聊聊AngularJS(说了我的理解,但不怎么了解) 那你熟悉哪个框架(正在玩React,vue也懂一点) 你给我说说你那个博客生成器(github.com/sidkwok/tech-dairy)(我知道我知道,很多广告!) 聊聊项目 聊聊模块化吧 sass你怎么用 gulp用过啥 介绍一下webpack 实现sum(2,3);sum(2,3,4);sum(2,3,4,5);(我用了比较原始的方法,if来判断) 那如果sum里面的参数不确定呢(提取arguments的长度,用for循环) 你知道伪数组吗? 那你重新设计一下这个函数,让它直接拥有数组的方法吧(var arg = Array.prototype.call(arguments)) ok, 再来一个数组去重吧(这太经典了吧)

    1、移动端和pc差别 2、html5的特性 3、node.js 4、jq源码读过之后有什么提升 5、js创建对象的几种方式

    1、 在地址栏输入url中间会经历什么 2、你所了解的前端技术栈有哪些

    这个可能我要多说一下。本来吧这两个问题看似简单其实暗藏杀机。 首先第一个问题。你的回答中将会包括http协议 服务器的知识,浏览器渲染的知识。打个比方,dns是什么 作用。如果你能把每一块说的很清楚的话,那真的没撒问题了。 第二个问题就是考察的是你在前端方面的可扩展性,如果你了解的越多证明你知道的越多。可塑性可发展性更强。

    ajax在jquery的底层是怎么实现的 2、Promise编程 3、页面优化 url问题,同上 4、css3动画优化 5、重排重绘 6、项目开发(你现在做的这个项目你觉得你写的东西最大的优点和缺点) 7、git自动化部署测试服务器(这个是我最近搭的测试服务器,也问了一下。不多)

    1.文档声明

    2.文档编码格式

    3.表单请求方法

    method=”get|post”

    get请求数据在请求行的url后

    post请求数据在请求体中

    4.选择器

    看英文文档

    5.NodeList和Array的区别

    6.typeof

    7.instance of原理

    instanceof 检测一个对象A是不是另一个对象B的实例的原理是:查看对象B的prototype指向的对象是否在对象A的[[prototype]]链上。如果在,则返回true,如果不在则返回false。不过有一个特殊的情况,当对象B的prototype为null将会报错(类似于空指针异常)。

    8.数组排序

    输入为数组

    function sort(arr){

    return arr.sort(function(value1,value2){

    return value1-value2

    });

    }

    输入为不确定个数的数字

    function sort(){

    return Array.prototype.call(arguments).sort(function(value1,value2){

    return value1-value2

    });

    }

    有更好的方法吗?

    正则

    手机号码正则

    我的提问

    前端学习的建议?

    精读《语言精粹》,打好基础。

    二面

    1.数组和链表的区别

    存储:数组顺序存储

    操作:数组读取方便,链表插入删除方便。

    2.假设你负责的JS模块出现问题,怎么办,或者说你解决问题的优先级是什么?

    保证用户可访问性:提供简单替代性页面(类似常见404处理方式)

    问题排查:借助工具、请教有经验前辈

    问题解决:联系开源项目开发者

    随记:面试官问的特别“找茬”,确定是你所负责js模块的问题,但就是找不到问题所在,你怎么办?现在找到问题所在了,但你解决不了,重新写代码来不及,公司团队统一用的一个框架,重写或者更换的代价太大,你怎么办?

    三面

    1.简单自我介绍

    2.平时喜欢做什么

    画铅笔画、打乒乓球、听音乐

    你乒乓球达到什么水平?女生中比较好的

    哪些球打的好,哪些球打的不好?杀球还不错,但是和男生打还是比较吃亏,不喜欢旋球,路线不确定。

    马龙和张继科谁厉害?不知道(马龙)

    你喜欢谁?张继科,长得帅。

    3.用三个词形容自己

    活泼开朗、学习能力强、处女座

    为什么说自己努力?做事最求最好,学习成绩不能说明一切,但是能说明我的态度和能力。

    处女座一般都是一个自黑的词,为什么用它形容自己?我不觉得处女座是不好的,大家平时说我处女座,都是认为我靠谱,做事超级认真,追求完美。

    你觉得自己是典型的处女座吗?我的处女座特征是东西整齐,也是典型的一种吧

    觉得有什么不好吗?就是太爱整齐,有什么觉得有点浪费时间,其他挺好。

    4.我的提问

    前端妹子的发展路线都有哪些?

    百度

    一面 2016.9.19

    1.数据库数据类型

    2.==和===

    3.正则 手机号码

    4.垂直居中

    5.box-sizing

    6.二叉树遍历

    7.get和post

    get数据在请求头请求路径后

    post数据在请求体里

    8.进程和线程

    9.常见排序算法的时间复杂度

    10.HTTP

    11.TCP

    数据集A、数据集B大小500GB,电脑内存很小,如何求得AB的差集。

    分治法 先排序 多线程同时进行比价

    二面 2016.9.23

    1.CSS Sprites

    工具

    2.background

    background-color

    background-image

    background-repeat

    background-position

    background-attachment

    3.字符串复制

    ‘abc’->’abcabc’ +

    字符串复制n次

    循环

    4.JSON字符串转换为JSON对象

    JSON.stinigify() JSON.parse()

    原生实现:字符串的处理根据逗号、冒号分隔

    5.字体族

    Bootstrap

    6.$.extend()

    两个对象的合并

    a={a:1,b:1}

    b={a:2,b:2}

    for(var key in b){

    a[key]=b[key]

    }

    多个对象的合并

    arguments循环

    7.动画

    CSS实现

    JS实现

    8.组件

    拖拽组件:

    鼠标按下鼠标在屏幕内的位置

    鼠标按下鼠标在元素内的位置

    鼠标松开设置元素的放置位置

    可抽象的设置:

    拖拽对象

    放置对象

    拖拽对象样式

    9.JS配合DOM实现EChart柱状图

    总量确定

    总量不确定

    10.兼容

    IE常见兼容问题

    兼容处理方法:

    条件注释

    hack

    -ms-

    11.关注的社区

    W3CSchool Github SegmentFault MDN

    官网 JQuery Bootstrap LESS

    12.我的提问

    前端技术多而杂,好的学习方法?

    关注技术发展

    各大互联网前端技术博客 百度前端技术学院ife.baidu.com

    贡献开源项目

    写博客

    三面 2016.9.24

    1.自我介绍

    2.介绍自己做过的一个项目

    3.项目角色配合合作

    4.怎样处理同事间的摩擦

    5.怎样更新自己的知识体系

    6.工作计划

    7.百度的好和不好

    8.自己的优点和缺点

    随记:百度的HR那绝对是阅人无数,绝对不要试图回避问题,能回答就回答,不回答坦白说即可,他问得每个问题的背后,都有一个目的,就是他其实想听到的你关于什么方面的内容,这个比较让人心累。好在,最后我在说自己的缺点时,和他认为的我的不足一样,他猛点头,让我觉得自己特别有自知之明。

    百度外卖

    一面 2016.9.21

    1.CSS

    2.事件委托

    3.DOM

    4.Ajax

    5.绑定事件

    6.JSONP

    7.对象

    8.管理工具

    9.匿名函数

    10.二分查找

    11.我的问题

    笔试题最后一题,不确定个数的数字,分成三份,使得每份的和的差尽量小。

    随记:

    这个面试官特别像大学同学,长得像,说话的语气速度都像。

    二面 2016.9.24

    1.手机向上拉,加载新内容是实现

    2.深度遍历DOM节点

    3.toggleClass实现

    4.字符串匹配,一个字符串子在另一个字符串中出现的次数

    5.BFC块级格式化上下文

    6.随记:所有面试中被虐的最惨的一次,事后和小伙伴聊天,她的一句话特别适合形容我的当时的心境:放我走吧!

    三面 2016.9.26

    1.为什么选择web前端开发岗位?

    2.web前端开发程序员应该具备哪些技艺?

    3.遇到过什么印象深刻的挫折?简历直接被刷掉

    4.你的优势?

    5.你的不足?

    6.我的提问

    7.公司对应届生的要求?基础

    随记:HR给人很实在、随和的感觉,全程毫无紧张感。

    转载请注明原文地址: https://ju.6miu.com/read-1201593.html
    最新回复(0)