当前位置: 首页 > 编程日记 > 正文

华为js面试题_四面腾讯与华为,大厂前端面试真BT!

今年算是经历颇多的一年了,腾讯和华为都走了几趟(一共面试了四个部门),拿了两个offer。(开心.png),但还是挂了两次,有点遗憾。

面试题总结

面试完之后,赶紧总结了一波,前端这个岗位,这两家大厂的面试思路和面试问题其实都差不多:

1. JS底层:

  • 说一说js的原型与继承。
  • 分析一下优秀的前端框架源码,这么写的优缺点在哪。
  • this指向问题,this的深拷贝如何实现,这个也是高频率被问到的问题。
  • js事件流是怎么样体现的。
  • 柯里化函数。

2. 数据层:

  • 写过中间件么?
  • 了解koa么?
  • 数据安全是怎么处理的。
  • axios 与 fetch的实现。

3. HTTP相关:

  • 跨域问题的产生与解决。
  • http1.1时如何复用tcp连接。
  • http2.0新的变化。
  • http报文的请求分成几个部分?
  • 前端与后台交互的时候会产生几次握手,分别做了什么?

4. 框架:

  • 说一说vue的源码的响应式与数据驱动,主要是问原理。
  • Vue与react的区别在哪,这个也是问底层实现。
  • 虚拟dom、diff算法等等,基本没问到过怎么去使用。
  • 像组件传值啥的没提过。还有就是路由的管理
  • 有没有封装过组件库,
  • dev-server是怎么跑起来的。

5. 服务端与工具

  • 主要是Node的问题,有没有拿node做过中间层。
  • Node的线程处理、事件循环。
  • 这个主要就是 webpack 与 babel 的配置,如何配置能提高项目运行速度与项目打包的速度,另外还问了Gzip服务端压缩。

6. 项目优化

  • 移动端首屏怎么做优化。
  • transform与marginLeft,这个就是问回流与重绘了。
  • 大图加载优化,
  • react项目的整体优化,
  • 动画卡顿是如何造成的,该怎么去优化。

7. CSS

  • flex布局问的最多,元素居中对齐最快的方式是什么?
  • 盒子模型问了一次
  • 内边距与外边距的区别(作用的对象不一样,一个是本身一个是别的元素)

8. 算法

  • 一个字符串里出现最多的字符是什么,以及出现次数,这是华为的面试题,据说经常问,这个我答出来了。
    腾讯问了一个洗牌算法和数组去重。
  • 二叉树
  • 如何应对?

前端主要是知识面太广,杂七杂八,但其实冷静分析一下,也就五大块。图片分析奉上:

97df206c8dd73c04873d117068ceab91.png

FAQ :

  1. 以上是个人的经历、与朋友的总结,不一定百分百对,但是含金量挺高的。
  2. 希望能帮到大家,如果对大家有帮助,欢迎评论转发(整理了好久,吐血.jpg)
  3. 面试成功了,或者面试题中标了可以来下面扣波666~。

福利:

32caaa9e9e4ed5287f04fe0c9d20f35b.png

4e79e721a5fa1356d4f81ff9c42261b2.png

前端900道面试真题,进阶学习书籍资料整理,戳下面链接获取!

前端30K面试准备,最完整面试真题分享!​www.jianshu.com
f5f2c0dc3c60bdb42fb55c5384f18b3f.png

相关文章:

你和区块链的距离就差这篇文章!

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 近年来,“区块链”逐渐成为热门话题,2018年各种关于区块链的行业资讯、投融资创业、技术和应用探索等集中爆发,…

Browser Security-超文本标记语言(HTML)

重要的4个规则&#xff1a; 1 &符号不应该出现在HTML的大部分节点中。 2 尖括号<>是不应该出现在标签内的&#xff0c;除非为引号引用。 3 在text节点里面&#xff0c;<左尖括号有很大的危害。 4 引号在标签内可能有危害&#xff0c;具体危害取决于存在的位置&…

NestedScrolling CoordinatorLayout

Android NestedScrolling机制完全解析 带你玩转嵌套滑动 一步一步深入理解CoordinatorLayout 源码看CoordinatorLayout.Behavior原理 转载于:https://www.cnblogs.com/cornellbox/p/8649891.html

python下载电脑版本不对_初学Python,因为某些原因电脑只能装3.1版本,现遇到这个小问题求解答...

#!/usr/bin/env python # -*- coding: utf-8 -*-任务: 假设用户输入的英文名字不规范&#xff0c;没有按照首字母大写&#xff0c;后续字母小写的规则&#xff0c; 请利用map()函数&#xff0c;把一个list&#xff08;包含若干不规范的英文名字&#xff09;变成一个包含规范英文…

以太坊是什么?

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 以太坊是一个全新开放的区块链平台&#xff0c;它允许任何人在平台中建立和使用通过区块链技术运行的去中心化应用。就像比特币一样&#xff0c;以…

前端相关html和css

#请参考http://www.cnblogs.com/pycode/p/5792142.html #html css 和js说明 ##1.什么是html&#xff1f; HTML(HyperText MarkUp Language)超文本标记语言,通过使用标记来描述文档结构和表现形式的一种语言,由浏览器进行解析,然后把结果显示在网页上&#xff0c;通俗的讲它就是…

编写五子棋的完整python代码_python制作简单五子棋游戏

本文实例为大家分享了python五子棋游戏的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下 #五子棋 ‘” 矩阵做棋盘 16*16 “” 打印棋盘 for for 游戏是否结束 开始下棋 while 游戏是否结束&#xff1a; 黑白交替 player0 p%20 1 p1 下棋动作一样 但是棋子不一样 ‘”…

新建JRapid项目(idea创建maven多模块项目)

1、第一步&#xff0c;新建项目&#xff08;Create New Project&#xff09; 2、parent项目&#xff0c;不勾选“Crate from archetype”&#xff0c;直接单击“Next”。 3、groupid填写com.codingwhy&#xff0c;ArtifactId填写JRapid。 4、Project name 填写 JRapid&#xff…

这个美国议员候选人想发币,联邦选举委员会还答应了

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 佛罗里达州的一名国会候选人想给竞选志愿者发放基于以太坊的代币&#xff0c;以激励他们的工作&#xff0c;这是一项实验性的举措&#xff0c;而联邦…

day8 函数

写代码先画流程图 复习&#xff1a; 什么是文件&#xff1f; 文件操作 read&#xff08;&#xff09; with open&#xff08;&#xff09;as f: 取代close&#xff08;&#xff09; 文件的打开模式 t:text文本模式 只能操作文本 b:bytes字节模式 视频音频图片&#xff0c;也…

SQL Server中的分页查询

分页查询很简单&#xff0c;具体代码如下&#xff1a; --分页查询--查询1-3行数据 select top 3 * from emp order by sal desc;--查询4-6行数据 select top 3 *from empwhere empno not in (select top 3 empno from emp order by sal desc)order by sal desc;--查询7-9行数据…

python数据库建表_mysql数据表如何创建

在 MySQL 中&#xff0c;可以使用 CREATE TABLE 语句创建表。其语法格式为&#xff1a;CREATE TABLE <表名> ([表定义选项])[表选项][分区选项]; 其中&#xff0c;[表定义选项]的格式为&#xff1a;<列名1> <类型1> [,…] <列名n> <类型n> CREAT…

行情分析:下杀或不可持续,市场大概率继续震荡

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 美联储主席杰罗姆鲍威尔周三在众议院金融服务委员会的听证会上表示&#xff0c;在Facebook详细说明如何处理一系列监管问题之前&#xff0c;不应允许…

水平,垂直居中的15种方法

一.水平居中 1.文字水平居中 <div class"one">测试居中</div><style>.one{width: 200px;height: 100px;border:1px solid red;text-align: center;}</style>2.盒子居中 <div class"one">是盒子居中</div><style>…

Hadoop葵花宝典(一)

1. 描述如何安装配置Hadoop 参考&#xff1a;http://www.cnblogs.com/xia520pi/archive/2012/04/08/2437875.html 安装Linux(虚拟机上)—CentOS&#xff1a;创建用户&#xff0c;关闭防火墙&#xff0c;PS&#xff1a;不关防火墙无法访问Web管理页面&#xff0c;删除和增加节点…

stata命令汇总_第九届高级计量经济学及stata应用研讨会在京顺利举办

二零一九&#xff0c;寒假佳时&#xff0c;近30余所高校的师生齐聚北京&#xff0c;参加了计量经济学服务中心举办的第九届“高级计量经济学及Stata应用”现场研讨班。本届研讨班于2019年1月19日-1月22日在北京国际温泉酒店顺利举办&#xff0c;现场学员既有博士、硕士&#xf…

下轮牛市高峰可能在2020年,以太坊是关键

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 “用自己一颗宁静的内心去感受市场真正的趋势&#xff0c;一旦发现趋势便全力跟随之。—刘强《期货大作手风云录》” 文章导读&#xff1a; 驱动这…

jQuery中的事件机制深入浅出

昨天呢,我们大家一起分享了jQuery中的样式选择器,那么今天我们就来看一下jQuery中的事件机制,其实,jQuery中的事件机制与JavaScript中的事件机制区别是不大的,只是,JavaScript中调用是原生的函数方法,而jQuery中调用的绑定的是jQuery中的对象方法,那么在昨天的第一篇中,我们已经…

滑动加载商品列表

商品列表htmL 所绑定的js事件 后台代码 $(function () { //滚动加载 var stop true; var start 2; // $.ajaxSetup({async:false}); function getData(url){ // console.log(url); $.ajax({ type:"get",//跨域访问时只能用get url:url,//要访问的api地址 dataType:…

mac 怎么查找大于200m的文件_U盘无法拷贝大于4GB的文件怎么办?

相信在经常使用U盘的用户手中&#xff0c;都会或多或少的存有几个U盘&#xff0c;有时候如果我们需要重装系统的时候&#xff0c;就会发现下载的系统居然无法拷贝到U盘当中&#xff0c;这究竟是怎么回事呢&#xff1f;U盘主要有三种格式&#xff1a;FAT32&#xff1a;缺点&…

以太坊今日大涨7.5%,芝商所备战“以太坊期货”

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 据The Block报道&#xff0c;芝加哥商品交易所&#xff08;CME&#xff09;预计将于7月15日改变以太坊相关的参考利率和指数&#xff0c;消息人士称…

python package_Python之package、module

一、模块&#xff1a; 1.简单的描述&#xff1a;一个.py文件 2.好处&#xff1a;大大提高代码的可维护性 3.模块三种&#xff1a;1.python标准库 2.第三方模块 3.应用程序自定义模块&#xff08;*****&#xff09; 4.import实质就是&#xff1a;1.执行对应文件 2.引入变量名 在…

C# Timer使用方法示例

实例化一个timer&#xff1a; // 每5分钟执行一次,每次执行的间隔毫秒时长 System.Timers.Timer timer new System.Timers.Timer(5*60*1000);为timer设置事件和任务循环回调方法&#xff1a; //到达时间的时候执行事件timer.Elapsed new System.Timers.ElapsedEventHandler(T…

[Educational Codeforces Round 16]A. King Moves

[Educational Codeforces Round 16]A. King Moves 试题描述 The only king stands on the standard chess board. You are given his position in format "cd", where c is the column from a to h and dis the row from 1 to 8. Find the number of moves permitted…

解读Go语言的2018:怎么就在中国火成这样了?

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 本篇文章是 Go 语言 2018 年终盘点&#xff0c;力求客观、深入分析 2018 年 Go 语言的技术发展现状&#xff0c;同时对明年可能的发展情况进行预测…

Io流的字节流与缓冲流

当我们队大量数据进行保存时可以用数组&#xff0c;当数据到达一定量时或给用户一个易懂得接口时就可采用IO流&#xff1a; IO流按进行的操作分输出流与输入流InputStream与OutputSteam 按操作的原理来分有2种常见的IO流字节流与缓冲流&#xff1a;这2种IO的的输入输出流都是对…

057 Insert Interval 插入区间

给出一个无重叠的按照区间起始端点排序的区间列表。在列表中插入一个新的区间&#xff0c;你要确保列表中的区间仍然有序且不重叠&#xff08;如果有必要的话&#xff0c;可以合并区间&#xff09;。示例 1:给定区间 [1,3],[6,9]&#xff0c;插入并合并 [2,5] 得到 [1,5],[6,9]…

python3笔记_python3基础笔记(一)

1、就单个 python 文件来说在 python 中 python 的后缀可以是任意的。但如果这个 python 文件需要导入的时候如果不是 .py 会出错。所以一般情况下 python 文件的后缀为 .py 2、是 linux 中使用 ./文件.py 时候需要在文档的第一行注明解释器路径 # !/usr/bin/env/ python 3、声…

django中使用celery简单介绍

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 本章节我们重点在于实现&#xff0c;如何存储任务的结果. 我们将任务函数改为: from celery_demo.celery import app import time 加上app对象…

Node.js:路由

ylbtech-Node.js&#xff1a;路由1.返回顶部 1、Node.js 路由 我们要为路由提供请求的 URL 和其他需要的 GET 及 POST 参数&#xff0c;随后路由需要根据这些数据来执行相应的代码。 因此&#xff0c;我们需要查看 HTTP 请求&#xff0c;从中提取出请求的 URL 以及 GET/POST 参…