Web前端最全腾讯、华为2024前端技术岗发布+最新内部面试题(1),20个经典面试问题

最后

喜欢的话别忘了关注、点赞哦~

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

前端校招面试题精编解析大全

  • 指出JS的宿主对象和原生对象的区别,为什么扩展JS内置对象不是好的做法?有哪些内置对象和内置函数?

  • attribute和property的区别

  • document load和document DOMContentLoaded两个事件的区别

  • === 和 == , [] === [], undefined === undefined,[] == [], undefined == undefined

  • typeof能够得到哪些值

  • 什么是“use strict”,好处和坏处

  • 函数的作用域是什么?js 的作用域有几种?

  • JS如何实现重载和多态

  • 常用的数组api,字符串api

  • 原生事件绑定(跨浏览器),dom0和dom2的区别?

  • 给定一个元素获取它相对于视图窗口的坐标

  • 如何实现图片滚动懒加载

  • js 的字符串类型有哪些方法? 正则表达式的函数怎么使用?

  • 深拷贝

  • 编写一个通用的事件监听函数

  • web端cookie的设置和获取

  • setTimeout和promise的执行顺序

  • JavaScript 的事件流模型都有什么?

  • navigator对象,location和history

  • js的垃圾回收机制

  • 内存泄漏的原因和场景

  • DOM事件的绑定的几种方式

  • DOM事件中target和currentTarget的区别

  • typeof 和 instanceof 区别,instanceof原理

  • js动画和css3动画比较

  • JavaScript 倒计时(setTimeout)

  • js处理异常

  • js的设计模式知道那些

  • 轮播图的实现,以及轮播图组件开发,轮播10000张图片过程

  • websocket的工作原理和机制。

  • 手指点击可以触控的屏幕时,是什么事件?

  • 什么是函数柯里化?以及说一下JS的API有哪些应用到了函数柯里化的实现?(函数柯里化一些了解,以及在* 函数式编程的应用,最后说了一下JS中bind函数和数组的reduce方法用到了函数柯里化。)

  • JS代码调试

框架

  • 使用过哪些框架?

  • zepto 和 jquery 是什么关系,有什么联系么?

  • jquery源码如何实现选择器的,为什么$取得的对象要设计成数组的形式,这样设计的目的是什么

  • jquery如何绑定事件,有几种类型和区别

  • 什么是MVVM,MVC,MVP

  • Vue和Angular的双向数据绑定原理

  • Vue,Angular组件间通信以及路由原理

  • react和vue的生命周期

  • react和vue的虚拟dom以及diff算法

  • vue的observer,watcher,compile

  • react和angular分别用在什么样的业务吗?性能方面和MVC层面上的区别

  • jQuery对象和JS的Element有什么区别

  • jQuery对象是怎么实现的

  • jQuery除了它封装了一些方法外,还有什么值得我们去学习和使用的?

  • jQuery的$(‘xxx’)做了什么事情

  • 介绍一下bootstrap的栅格系统是如何实现的

浏览器相关

  • 跨域,为什么JS会对跨域做出限制

  • 前端安全:xss,csrf…

  • 浏览器怎么加载页面的?script脚本阻塞有什么解决方法?defer和async的区别?

  • 浏览器强缓存和协商缓存

  • 浏览器的全局变量有哪些

  • 浏览器同一时间能够从一个域名下载多少资源

  • 按需加载,不同页面的元素判断标准

  • web存储、cookies、localstroge等的使用和区别

  • 浏览器的内核

  • 如何实现缓存机制?(从200缓存,到cache到etag再到)

  • 说一下200和304的理解和区别

  • 什么是预加载、懒加载

  • 一个 XMLHttpRequest 实例有多少种状态?

  • dns解析原理,输入网址后如何查找服务器

  • 服务器如何知道你?

  • 浏览器渲染过程

  • ie的某些兼容性问题

  • session

  • 拖拽实现

  • 拆解url的各部分

面试题完整文档划到文末直接免费领取。

ES6

  • 谈一谈 promise

  • 所有的 ES6 特性你都知道吗?如果遇到一个东西不知道是 ES6 还是 ES5, 你该怎么区分它

  • es6的继承和es5的继承有什么区别

  • promise封装ajax

  • let const的优点

  • es6 generator 是什么,async/await 实现原理

  • ES6和node的commonjs模块化规范区别

  • 箭头函数,以及它的this

计算机网络

  • HTTP协议头含有哪些重要的部分,HTTP状态码

  • 网络url输入到输出怎么做?

  • 性能优化为什么要减少 HTTP 访问次数?

  • Http请求的过程与原理

  • https(对是https)有几次握手和挥手?https的原理。

  • http有几次挥手和握手?TLS的中文名?TLS在哪一网络层?

  • TCP连接的特点,TCP连接如何保证安全可靠的?

  • 为什么TCP连接需要三次握手,两次不可以吗,为什么

  • 为什么tcp要三次握手四次挥手?

  • tcp的三次握手和四次挥手画图(当场画写ack 和 seq的值)?

  • tcp与udp的区别

  • get和post的区别?什么情况下用到?

  • http2 与http1 的区别?

  • websocket

  • 什么是tcp流,什么是http流

  • babel是如何将es6代码编译成es5的

  • http2的持久连接和管线化

  • 域名解析时是tcp还是udp

  • 域名发散和域名收敛

  • Post一个file的时候file放在哪的?

  • HTTP Response的Header里面都有些啥?

工程化

  • 对webpack,gulp,grunt等有没有了解?对比。

  • webpack的入口文件怎么配置,多个入口怎么分割。

  • webpack的loader和plugins的区别

  • gulp的具体使用。

  • 前端工程化的理解、如何自己实现一个文件打包,比如一个JS文件里同时又ES5 和ES6写的代码,如何编译兼容他们

模块化

  • 对AMD,CMD,CommonJS有没有了解?

  • 为什么要模块化?不用的时候和用RequireJs的时候代码大概怎么写?

  • 说说有哪些模块化的库,有了解过模块化的发展的历史吗?

  • 分别说说同步和异步模块化的应用场景,说下AMD异步模块化实现的原理?

  • 如何将项目里面的所有的require的模块语法换成import的ES6的语法?

  • 使用模块化加载时,模块加载的顺序是怎样的,如果不知道,根据已有的知识,你觉得顺序应该是怎么样的?

Nodejs

  • 对nodejs有没有了解

  • Express 和 koa 有什么关系,有什么区别?

  • nodejs适合做什么样的业务?

  • nodejs与php,java有什么区别

  • Nodejs中的Stream和Buffer有什么区别?

  • node的异步问题是如何解决的?

  • node是如何实现高并发的?

  • 说一下 Nodejs 的 event loop 的原理

数据结构

  • 基本数据结构:(数组、队列、链表、堆、二叉树、哈希表等等)

  • 8种排序算法,原理,以及适用场景和复杂度

  • 说出越多越好的费波拉切数列的实现方法?

性能优化

  • cdn的用法是什么?什么时候用到?

  • 浏览器的页面优化?

  • 如何优化 DOM 操作的性能

  • 单页面应用有什么SEO方案?

  • 单页面应用首屏显示比较慢,原因是什么?有什么解决方案?

其他

  • 正则表达式

  • 前端渲染和后端渲染的优缺点

  • 数据库的四大特性,什么是原子性,表的关系

  • 你觉得前端体系应该是怎样的?

  • 一个静态资源要上线,里面有各种资源依赖,你如何平稳上线

  • 如果要你去实现一个前端模板引擎,你会怎么做

  • 知道流媒体查询吗?

  • SEO

  • mysql 和 mongoDB 有什么区别?

  • restful的method解释

  • 数据库知识、操作系统知识

  • click在ios上有300ms延迟,原因及如何解决

  • 移动端的适配,rem+媒体查询/meta头设置

  • 移动端的手势和事件;

  • unicode,utf8,gbk编码的了解,乱码的解决

三面、四面常问的开放性问题

  • 你都看过什么书?最近在看什么书?

  • 用过什么框架?有没有看过什么框架的代码?

  • 有没有学过设计模式?

  • 说一说观察者模式吧!能不能写出来?

  • 你最大的优点是什么?那你最大的缺点呢?

  • 你大学期间做过最疯狂的事情是什么?

  • 你除了写博客还有什么输出?

  • 现在你的领导给你了一份工作,要求你一个星期完成,但你看了需求以后估计需要3周才能完成,你该怎么办?

  • 平时关注的前端技术

  • 如何规划自己的职业生涯

  • 项目过程中,有遇到什么问题吗?怎么解决的?

  • 最近在研究哪方面的东西?

  • 请介绍一项你最热爱、最擅长的专业领域,并且介绍的学习规划。

  • 请介绍你参与的印象最深刻的一个项目,为什么?并且介绍你在项目中的角色和发挥的作用。

HR面

  • 你为什么要学习前端?

  • 你平时的是怎么学习前端的?有什么输出?

  • 你觉得自己最好的项目是什么?

  • 身边比较佩服的人有什么值得你学习的?你为什么没有跟他们一样?

  • 同事的什么问题会让你接受不了

  • 压力最大的事情是什么?

  • 和同学做过的最好的项目?

  • 身边的朋友通常对你的评价是什么

  • 喜欢什么样的工作氛围

  • 如何看待加班

  • 有没有对象

  • 意向城市

  • 其他的offer

最后

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

  • 你为什么要学习前端?

  • 你平时的是怎么学习前端的?有什么输出?

  • 你觉得自己最好的项目是什么?

  • 身边比较佩服的人有什么值得你学习的?你为什么没有跟他们一样?

  • 同事的什么问题会让你接受不了

  • 压力最大的事情是什么?

  • 和同学做过的最好的项目?

  • 身边的朋友通常对你的评价是什么

  • 喜欢什么样的工作氛围

  • 如何看待加班

  • 有没有对象

  • 意向城市

  • 其他的offer

最后

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

[外链图片转存中…(img-QiAyFJ27-1715895936135)]

  • 14
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 请解释一下C语言中的指针。 指针是一个变量,用来存储内存地址。通过指针,可以间接访问和修改内存中的数据。C语言的指针灵活性很高,常用于动态分配内存、传递参数、访问数组等操作。 2. 如何定义一个常量指针? 可以使用const关键字定义一个常量指针。例如:const int *p; 这样定义的指针p指向的值不可修改,但可以通过修改p来指向其他地址。 3. 请解释一下C语言中的结构体。 结构体是一种用户自定义的数据类型,可以包含多个不同类型的成员变量,用来表示一个具有多个属性的对象。通过结构体可以将相关的数据组织在一起,提高程序的可读性和可维护性。 4. 如何在结构体内定义一个指针变量? 可以在结构体内定义一个指针变量,该指针变量可以指向另一个数据类型的值。例如:struct Student { int *p; }; 5. 请解释一下C语言中的动态内存分配。 动态内存分配是指程序在运行时根据需要分配和释放内存。C语言提供了四个函数:malloc、calloc、realloc和free来进行动态内存分配与释放。 6. 如何动态分配内存? 可以使用malloc函数动态分配内存。例如:int *p = (int*)malloc(sizeof(int)); 这样可以在堆中分配一个int类型大小的内存,并将该内存地址赋给指针p。 7. 如何释放动态分配的内存? 可以使用free函数释放动态分配的内存。例如:free(p); 这样可以释放指针p所指向的动态内存。 8. 列举C语言中的一些常见数据结构。 常见的数据结构包括数组、链表、栈、队列、树、图等。 9. 请解释一下C语言中的递归。 递归是指函数自己调用自己的过程。递归可用于解决问题的分解与归纳,适用于解决问题的过程可以划分为多个相似的子问题。 10. 请解释一下C语言中的位运算。 位运算是对二进制数的操作,包括按位与、按位或、按位异或等操作。位运算常用于位掩码、位操作等场景。 以上是前10道C面试题及答案。希望对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值