京东面试题目

京东面试刷题

本篇是通过记录的方式利用力扣刷题加深自己的理解,做好小笔记对你我都有帮助。题目是按照力扣博主进行回答的。

非技术类问题

  1. 自学前端的方式是什么?(视频加博客加实践)
  2. 学习前端多久了?(两个月左右)

HTML/CSS

  1. html5的新特性有哪些?
    回答:html5新增新元素有图形的绘制,多媒体内容(audio,video,source)新表单元素,提供更好的页面结构的标签。需要了解并且要会使用。下图是学习网站链接
    link.https://www.w3cschool.cn/html5/html5-new-element.html

  2. 语义化标签回答几个?
    回答:一开始我停顿了,平时很少用这个词百度之后竟然是div head,body,span br p strong img strong ul ol h1等等标签,我觉得这个题我得至少说出十个才对的起我自己。

  3. css选择器有哪些?
    回答:id选择器,类选择器,标签选择器,全局选择器(*),子选择器(>)(只能选择子类,孙子选不了),包含选择器(中间是空格)在它下面的所有都可以选择,兄弟选择器(~),相邻选择器(+),伪类选择器(:),属性选择器【tepe=text】,在属性标签中加入type属性,对于选择器的优先级排序就是列表的排序,在最前面加上内联样式
    补充:刚刚在帮小姐妹解决问题的时候get到一个新技能,在vscode中输入ctrl+F然后输入我们想要的代码就能找到了,没有结果说明不在这个页面,换页面即可。

  4. 伪类选择器举例子
    回答:a标签带的就有四个link (未被访问)visited,hover,active(已选中)了然后:nth-child或p:nth-of-type.(选择所有仅有一个子元素的p元素)(不得不说考的还挺深的)

  5. 你了解的布局模式
    回答:布局方式有:静态布局,弹性布局(单位em,rem),自适应布局(@media),流式布局(单位使用百分数),响应式布局(综合响应式,流动等技术),浮动布局,定位布局。介绍网址参考链接: link.https://blog.csdn.net/zhang79513/article/details/102666861
    link.https://www.cnblogs.com/yanayana/p/7066948.html
    总结:此处知识还是蛮多的,但是是很有必要去了解的一些知识,阅读一些大佬的文章之后发现懂的还是很少。

  6. flex 布局主轴方向的属性是哪个?
    回答:flex-direction 设置主轴方向默认是row 主轴一般是指x轴水平向右,justify-content:是设置主轴上子元素排列的方式,align-content:设置侧轴上子元素的排列方式(用于多行)align-item(用于单行)大多数用的属性值是center但是其他的flex-starthe space-around也是应该了解一下的。参考学习网址:flex知识点学习

  7. 重绘和回流重排:
    回答:首先我们得清楚浏览器的渲染过程:

  • 解析HTML,生成dao树。
  • 解析css ,生成cssom树
  • 将dom树和cssom树结合,生成渲染树
  • 回流:根据生产的渲染树,进行回流,得到节点的位置大小信息
  • 重绘:根据渲染树以及回流得到的几何信息,得到节点的绝对像素。
  • display:将像素发给GPU,展现在页面上。
    添加链接描述第二我们在细细分析一下回流:回流就是浏览器计算dom节点在设备视口内确切位置和大小,改变页面布局和几何信息,这个计算的阶段就是回流。重绘:我们将渲染树的每个节点都转换为屏幕上的实际像素,这个阶段就叫重绘节点。二者之间的联系是:有回流一定会有重绘,有重绘却不一定要回流。

第三减少重绘和重排:

  • 我们将样式修改尽量写在一条语句里面,或者直接改变css样式名称发生一次重绘
  • 批量修改dom 措施方案(1.使元素脱离文档流,2,对其进行修改多次,3,将元素带回到文档中 1和3会重绘但是2不会)
  • 少用一些引起重绘的属性比如(offsetTop、offsetLeft、offsetWidth、offsetHeight
    scrollTop、scrollLeft、scrollWidth、scrollHeight
    clientTop、clientLeft、clientWidth、clientHeight
    getComputedStyle()
    getBoundingClientRect)
    此题回答参考回流和重绘

JS

  1. js的基础数据类型有哪些?
    回答:基本数据类型和引用数据类型
  2. js的哪些方法可以区分数组和对象
    回答: instanceof 和constructor以及Object.prototype.toString.call()都可以判断
  3. es6高阶语法的了解,说一下数组的高阶语法。
    filter和reduce都有涉及这块必须看看官网把这些记忆一下最好就是敲代码所有都用一遍。
  4. 闭包
    回答:闭包祖略的说就函数嵌套函数,但是内部函数成功调用了外部函数这样才叫做闭包。
  5. 闭包的应用场景是什么?
    回答是:防抖和节流,首先我们得了解一下什么是防抖和节流,防抖是讲多次执行变成最后一次执行,节流是讲多次执行变成每个一段时间执行。举列子:假设一个用户一直触发这个函数,且每次触发函数的间隔小于wait ,防抖的情况下就只会调用一次,而节流的情况会每隔一段时间调用函数。
    应用场景有:setTimeout用闭包解决传递不能带参数的函数,节流和防抖都用到了闭包也使用到了setTimeout学习文档

React

  1. React的生命周期有哪些
  2. React如何进行数据通信的
  3. redux你知道吗?

HTTP

  1. 你的项目是如何和后端进行交互的,后端是用node写的还是java?
    回答:利用接口进行交互的
  2. http请求中get和post的区别是什么?
  3. 除了get和post,你还知道其他方法吗?
    回答:GET从指定的服务器中获取数据,POST提交数据给指定的服务器处理,
  4. http的状态码你知道吗?
    回答:常见状态码
    200 - 请求成功
    301 - 资源(网页等)被永久转移到其它URL
    404 - 请求的资源(网页等)不存在
    500 - 内部服务器错误
    状态码分类:
    1** 信息,服务器收到请求,需要请求者继续执行操作
    2** 成功,操作被成功接收并处理
    3** 重定向,需要进一步的操作以完成请求
    4** 客户端错误,请求包含语法错误或无法完成请求
    5** 服务器错误,服务器在处理请求的过程中发生了错误
  5. localstorage用过嘛?
    回答:本地缓存
  6. cookie和sessionde的区别是什么?
    一个是刷新之后还有在地址栏那块能显示出来,另一个是刷新之后就没有了
  7. 平时会用ajax请求吗?ajax请求了解多吗?
  8. websocket了解吗?
    WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。
    WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。

其他

  1. git的操作指令有哪些?
  2. 你有做过移动端开发吗?(小程序)
  3. 小程序的生命周期有哪些?
    回答: onLoad(options) {
    console.log(‘onLoad监听页面加载’);
    }

onReady() {
console.log(‘onReady监听页面初次渲染完成’);
}

onShow() {
console.log(‘onShow监听页面显示’);
}

onHide() {
console.log(‘onHide监听页面隐藏’);
}

onUnload() {
console.log(‘onUnload监听页面卸载’);
}
5. 后端有RN,Flutter等,有没有想过将来还要在学习什么?
本文所有题目来自于点击查看
总结:做完之后发现前端也不是那么容易学的,还是需要静下来好好学一点东西。好好发展一下。

猜你喜欢

转载自blog.csdn.net/qq_47988584/article/details/119294893