首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

世界顶级公司的前端面试都问些什么

你可能会想:既然在开发我可以使用jQuery,React,Angular等,为什么还要重新发明轮子,为什么不能在面试中使用它?...CSS 至少,你应该知道如何在页面上布局元素,如何使用子元素或直接用后代选择器来定位元素,以及何时使用classes与id。 布局:坐在彼此相邻的元素以及如何将元素放在两列与三列。...你的设计应考虑XHR与双向调用。如果面试官要求你支持旧版浏览器,那么你的设计需要在隐藏的iFrame,脚本标签或XHR之间进行选择以进行消息传递。...数据结构和算法 这点可能具有争议,但是不了解高时间复杂度和常见运行时(O(N)和O(N Log N)的基本知识会对你造成困扰。理解内存管理等方面的知识对当前十分常见的页应用非常有帮助。...HTTP请求: GET和POST以及相关标头,Cache-Control,ETag,Status Codes和Transfer-Encoding。 REST与RPC。

1.5K30

前端开发面试题自测

visibility: hidden:元素在页面仍占据空间,但是不会响应绑定的监听事件。opacity: 0:将元素的透明度设置为 0,以此来实现元素的隐藏。...元素在页面仍然占据空间,并且能够响应元素绑定的监听事件。position: absolute:通过使用绝对定位将元素移除可视区域内,以此来实现元素的隐藏。...z-index: 负值:来使其他元素遮盖住该元素,以此来实现隐藏。clip/clip-path :使用元素裁剪的方法来实现元素的隐藏,这种方法下,元素仍在页面占据位置,但是不会响应绑定的监听事件。...transform: scale(0,0):将元素缩放为 0,来实现元素的隐藏。这种方法下,元素仍在页面占据位置,但是不会响应绑定的监听事件。...在这一过程可以看到,页面渲染过程包含了请求文件以及执行文件的时间,但页面的首次渲染可能并不依赖这些文件,这些请求和执行文件的动作反而延长了用户看到页面的时间,从而降低了用户体验。

34720
您找到你想要的搜索结果了吗?
是的
没有找到

构建具有用户身份认证的 React + Flux 应用程序

这个地方会展示 React Router 的子路由, 通过这种方式,我们的应用程序会有一个侧边栏及动态视图。...我们想创建一些向服务器端发送 XHR 请求的方法,用于接收数据并处理返回的 Promise 。...对于 XHR 请求,我们将使用 superagent ,它是封装 XHR 比较好的一个库并且提供了处理 HTTP 请求的简单方法。...创建 Contact Detail 组件 应用程序的最后一部分是联系人详情区域,它占据页面的主要部分。当点击联系人姓名时,会向服务器端发送请求,然后接收联系人信息并显示出来。...最后:根据条件显示和隐藏元素 我们的应用程序已经做的差不多了!最后,让我们根据条件展示和隐藏一些元素。 我们将在用户未验证时显示“Login”导航项,而验证之后将其隐藏起来。

11K70

为什么每个人都在谈论同构JavaScript 以及为什么它很重要

由于这种互换性,Node.js和JavaScript生态系统支持各种各样的同构框架,React.js,lazo.js和Rendr等。...再加上对用户体验 (UX) 的了解不足和连接速度慢,你就会明白......到 2000 年代末,所谓的应用程序 (SPA) 变得更加流行,因为这种架构允许更快速、更用户友好的应用程序,其性能更像桌面应用程序...在页面框架加载后,用户必须等待JSON数据通过AJAX/XHR 返回。用非同构策略修补这些问题充其量是很麻烦的。例如,在服务器端呈现页面早在同构JavaScript成为流行术语之前就是一种实践。...搜索引擎能够准确地索引页面使用Backbone.js,Angular.js,Ember.js等框架构建的应用程序广泛用于编写受保护的应用程序,即需要用户名和密码才能访问的应用程序。...这使我们能够在 AJAX/XHR 请求之前获取 DocuSign Web SPA 的数据,从而提高应用程序的性能。

12410

构建具有用户身份认证的 React + Flux 应用程序

这个地方会展示 React Router 的子路由, 通过这种方式,我们的应用程序会有一个侧边栏及动态视图。...我们想创建一些向服务器端发送 XHR 请求的方法,用于接收数据并处理返回的 Promise 。...对于 XHR 请求,我们将使用 superagent ,它是封装 XHR 比较好的一个库并且提供了处理 HTTP 请求的简单方法。...创建 Contact Detail 组件 应用程序的最后一部分是联系人详情区域,它占据页面的主要部分。当点击联系人姓名时,会向服务器端发送请求,然后接收联系人信息并显示出来。...最后:根据条件显示和隐藏元素 我们的应用程序已经做的差不多了!最后,让我们根据条件展示和隐藏一些元素。 我们将在用户未验证时显示“Login”导航项,而验证之后将其隐藏起来。

11.6K00

前端新玩具,AHA技术栈是个啥?

AHA技术栈非常适合那些已经熟悉React/JSX的前端开发者。它通过在服务器上生成HTML,尽量减少客户端JavaScript的编写,为开发者带来了更简单的开发体验。...HTTP:客户端向服务器请求数据的方式。 XHR/fetch:从客户端向服务器发送数据的方法。 然而,仅凭这些基础技术还不足以构建现代Web应用,这就是AHA技术栈的用武之地。...HTTP请求方法:支持各种HTTP方法,包括POST、GET、DELETE、PUT和PATCH。...AHA技术栈与传统SPA的不同 在传统的页应用(SPA)页面初始时不包含HTML主体,而是通过JavaScript获取数据并构建页面。...在需要更像应用程序的功能时,通过添加“JavaScript互动性的点缀”来实现。

15910

【ASP.NET Core 基础知识】--前端开发--集成前端框架

页面应用(SPA): Angular是构建页面应用的理想选择。通过使用Angular的路由系统,可以实现页面之间的无缝导航,同时双向数据绑定提供了良好的用户体验。...以下是React的一些主要适用场景: 页面应用(SPA): React非常适合构建页面应用,通过React Router等工具可以实现页面之间的无缝切换,同时React的虚拟DOM技术可以提高页面性能和用户体验...以下是一些 Vue.js 的主要适用场景: 页面应用(SPA): Vue.js 是构建页面应用的理想选择。...下面我将展示如何在 ASP.NET Core 创建和使用 RESTful API,并在前端框架中进行调用。...例如,在 ASP.NET Core 可以创建一个专门处理 API 请求的控制器, ApiController,并在 Startup.cs 对 API 控制器进行路由配置。

7500

一篇文章教你如何捕获前端错误

常见错误的分类 对于用户在访问页面时发生的错误,主要包括以下几个类型: 1、js运行时错误 JavaScript代码在用户浏览器执行时,由于一些边界情况、本地环境的不可控等因素,可能会存在js运行时错误...4、异步请求错误(fetch与xhr) 异步错误的捕获分为两个部分:一个是传统的XMLHttpRequest,另一个是使用fetch api。...像axios和jQuery等库就是在xhr上的封装,而有些情况也可能会使用原生的fetch,因此对这两种情况都要进行捕获。 e.g: 下图是xhr请求接口返回400时捕获后的上报数据: ?...另外在安卓4.4及以下版本的webviewxhr对象也不存在responseURL属性。 因此我们需要额外的改写xhr的open方法,将传入的url记录下来,方便上报时带上。...解决方案2 难以在 HTTP 请求响应头中添加跨域属性时,还可以考虑 try catch 这个备选方案。 在如下示例 HTML 页面中加入 try catch: <!

3.6K40

从0到1搭建前端监控平台,面试必备的亮点项目

10s的视频保存下来(次录屏时长也可以自定义) 记录用户行为 通过 定位源码 + 播放录屏 这套组合,还原错误应该够用了,同时监控平台也提供了 记录用户行为 这种方式 假如用户做了很多操作,操作的间隔超过了次录屏时长...function fn() { JSON.parse(""); } fn(); 报错信息: scriptError.jpg 只能捕获到 script error 的原因: 是由于浏览器基于安全考虑,故意隐藏了其它域..._xhr.elapsedTime = endTime - this._xhr.startTime; // 上报xhr接口数据 reportData(this....== 0 && entry.encodedBodySize === 0); } 一个真实的页面,资源加载大多数是逐步进行的,有些资源本身就做了延迟加载,有些是需要用户发生交互后才会去请求一些资源...数据上报方式 支持图片打点上报和fetch请求上报两种方式 图片打点上报的优势: 1)支持跨域,一般而言,上报域名都不是当前域名,上报的接口请求会构成跨域 2)体积小且不需要插入dom 3)不需要等待服务器返回数据

3.2K20

5个提升开发效率的必备自定义 React Hook,你值得拥有

1、用useLocalStorage轻松管理浏览器存储 在实际工作,我们常常需要在React应用管理浏览器存储。这不仅能提升用户体验,还能让用户的数据在页面刷新后依然保留。...那么,如何在React优雅地实现响应式设计呢? 问题与需求 假设你正在开发一个网站,需要在不同的设备上展示不同的布局。例如,当用户在手机上浏览时,显示为移动视图;而在桌面设备上,则显示为桌面视图。...3、用useDebounce优化你的React应用 在日常开发,我们经常需要处理用户输入或频繁的API请求,这些操作如果不加控制,可能会导致性能问题或者不必要的资源浪费。如何优雅地解决这个问题呢?...在实际开发,这种自定义Hook能显著提升我们的开发效率。 5、用useToggle轻松管理布尔状态 在React开发,管理布尔值状态(模态框的开关、开关按钮的状态等)是一个常见且繁琐的任务。...无论是模态框的显示与隐藏,还是开关按钮的状态管理,useToggle都能派上用场。 结束 自定义React Hook是非常强大的工具,可以显著提升我们的开发体验。

9410

一篇文章教你如何捕获前端错误

e.g: 下图是promise请求接口发生错误后,未进行catch时的上报数据: 4、异步请求错误(fetch与xhr) 异步错误的捕获分为两个部分:一个是传统的XMLHttpRequest,另一个是使用...e.g: 下图是xhr请求接口返回400时捕获后的上报数据: 各个类型错误的捕获方式 1、window.onerror与window.addEventListener('error')捕获js运行时错误...另外在安卓4.4及以下版本的webviewxhr对象也不存在responseURL属性。 因此我们需要额外的改写xhr的open方法,将传入的url记录下来,方便上报时带上。...出于安全考虑,浏览器会刻意隐藏其他域的 JS 文件抛出的具体错误信息,这样做可以有效避免敏感信息无意中被不受控制的第三方脚本捕获。...解决方案2 难以在 HTTP 请求响应头中添加跨域属性时,还可以考虑 try catch 这个备选方案。 在如下示例 HTML 页面中加入 try catch: <!

3.2K90

前端埋点上报的几种方式

简介--在现代Web应用程序,埋点上报是一种重要的数据收集和分析手段。本文将介绍前端埋点上报的几种常见方式,并详细阐述如何在项目中运用这些方式进行数据上报,以帮助开发者更好地进行数据收集和分析。...图片请求(Image Beacon):通过创建一个Image对象,将要上报的数据作为URL参数拼接到一个1x1像素的透明图片URL,发送一个GET请求来触发上报。2....需要处理跨域请求的问题(设置CORS)。使用XMLHttpRequest或Fetch API发送异步请求来上报数据。可以选择使用GET或POST方法,并将数据作为请求体或URL参数发送。...使用方式注册和配置:首先,您需要注册并获取一个账户,然后在你的网站或应用程序添加相应的跟踪代码。通常,这涉及将一段JavaScript代码添加到每个页面的头部或尾部。...数据上报:在前端代码,通过发送异步请求XMLHttpRequest或Fetch API)将埋点数据发送到自定义接口的URL。

76120

2020前端性能优化清单(四)

完全由服务器端渲染(SSR) 在典型的SSR(例如WordPress),所有请求都完全在服务器上处理。所请求的内容将作为完成的 HTML 页面返回,浏览器可以立即进行渲染。...静态SSR(SSR) 我们将产品作为单个页面应用程序进行构建,但是在构建步骤,所有页面都使用最少的 JavaScript 预渲染为静态HTML。...在 Angular ,我们可以用 `@nguniversal`[19]把客户端的请求转换成完全由服务端渲染你的HTML页面。...注意新的策略,例如功能策略[55],限制资源大小和设置 CPU /带宽优先级,以限制有害的 Web 功能和脚本,这些脚本和功能会使浏览器减速,例如同步脚本,同步 XHR 请求,document.write...最后,请注意应用程序 CORS 请求的性能成本[78]。

3.3K20

web前端面试题及答案2023_2023-03-15

实例函数的情况有些特别,主要是在父组件通过 React 的 ref API 获取子组件的实例,然后是通过实例调用子组件的实例函数。...这种方式在过去常见于 Modal 框的显示与隐藏多层级间的数据通信,有两种情况 。第一种是一个容器包含了多层子组件,需要最底部的子组件与顶部组件进行通信。...系统开销:由于创建或撤销进程时,系统都要为之分配或回收资源,内存、I/O 等,其开销远大于创建或撤销线程时的开销。...如何解决:判断系统是否已经有这个例,如果有则返回,如果没有则创建。...方法3:当页面出现业务定义的特征值时,则认为是白屏。比如“数据加载”。

65520

AJAX如何向服务器发送请求

AJAX(Asynchronous JavaScript and XML)是一种在Web应用程序向服务器发送异步HTTP请求的技术。...它通过在后台发送请求并异步地获取响应,实现了与服务器进行数据交互而不需要刷新整个页面。传统上,在Web应用程序与服务器进行交互,需要通过提交表单或点击链接来触发页面跳转或刷新。...同时,通过send()方法发送的数据需要按照key=value的形式进行编码,"name=John&age=25"。当服务器返回响应时,回调函数的代码会被执行。...无限滚动:当页面包含大量数据时,可以使用AJAX实现无限滚动效果。通过监听滚动事件,当用户滚动到页面底部时,通过AJAX请求加载更多数据,并将其追加到页面,从而实现流畅的数据展示。...总结本文介绍了AJAX技术向服务器发送请求的原理和应用场景。通过使用AJAX,我们可以实现与服务器的异步通信,并在不刷新整个页面的情况下更新页面的部分内容。

41230

让前端监控数据采集更高效

、Angular 等前端技术的快速发展使页面应用盛行。...我们都知道,传统的页面应用是用一些超链接来实现页面切换和跳转的,而页面应用是使用各自的路由系统来管理前端的每一个页面切换,例如 vue-router、react-router 等,跳转时仅刷新局部资源...*资源错误的使用场景更多依赖其他几个维度,:地域、运营商等,后续的篇幅我们会具体讲解。...API 市面上主流的框架( Axios、jQuery.ajax 等),基本上所有的 API 请求都是基于xmlHttpRequest 或者 fetch,所以捕获全局接口错误的方式就是封装 xmlHttpRequest...XHR 虽然支持异步请求,直接发送数据到后端,但是会受到跨域和同源的限制。

1.4K12
领券