Preguntas de entrevista básicas de front-end 30 preguntas-1
-
-
- 1. Que valores se pueden tomar por posición en css y cual es la diferencia
- 2. Cómo entender la semántica
- 3. ¿Cuáles son los tipos de datos en JavaScript?
- 4. Explicar la captura de eventos y el burbujeo de eventos
- 5. ¿Cuáles son los métodos de matriz comúnmente utilizados? Enumere al menos 5 métodos y sus funciones.
- 6. ¿Cuál es la diferencia entre las instrucciones v-if y v-show en Vue?
- 7. ¿Cuál es la diferencia entre v-text y v-html en Vue, y cuáles son las características de la sintaxis { { }}
- 8. Introducir MVVM
- 9. Hable sobre su comprensión del modelo de caja
- 10. ¿Cuáles son los resultados obtenidos al usar el operador typeof en JavaScript?
- 11. Enumere al menos 5 métodos de cadenas de caracteres de uso común y explique sus funciones.
- 12. ¿Por qué los datos en el componente Vue deberían ser una función?
- 13. ¿Cuál es el principio del enlace bidireccional de Vue2.x?
- 14. Qué son los selectores de CSS y cuáles son sus prioridades
- 15. ¿Cuáles son las formas de juzgar si una expresión es una matriz?
- 16. ¿Se pueden usar juntos v-if y v-for? En caso afirmativo, indique la prioridad. De lo contrario, explique el motivo.
- 17. ¿Qué hace Vue.nextTick()?
- 18. ¿Cuáles son las formas de lograr el centrado en CSS? Escribe al menos tres
- 19. Cómo prevenir el burbujeo de eventos y el comportamiento predeterminado, escribir métodos estándar
- 20. ¿Cuáles son los ganchos del ciclo de vida de los componentes de Vue?
- 21. La diferencia entre link e @import al introducir CSS
- 22. La función y diferencia de llamar y aplicar en JavaScript
- 23. ¿Qué son los estados de Promesa y qué significan?
- 24. ¿Qué modos de enrutamiento usa VueRouter?
- 25. ¿A qué métodos puede llamar VueRouter para implementar la navegación programática?
- 26. Escribe una función recursiva para realizar la operación de factorial de un determinado número, como por ejemplo: 5! = 5 * 4 * 3 * 2 * 1
- 27. ¿Cuál es la función del filtro en Vue2.x y cómo definirlo?
- 28. ¿Cómo implementa VueRouter la carga diferida de rutas?
- 29. La diferencia entre em y rem
- 30. Cómo implementar la deduplicación de elementos de matriz, escriba tres métodos para lograr
-
1. Que valores se pueden tomar por posición en css y cual es la diferencia
static(默认值):默认值,没有定位
relative(相对定位):相对于自身的位置进行定位
absolute(绝对定位):相对于有定位属性的父元素进行定位
fixed(固定定位):相对于浏览器窗口进行定位
sticky(黏性定位):在没有到达指定位置时没有定位,到达位置后就会变成固定模式
2. Cómo entender la semántica
易读性和维护性更好
SEO成分会更好,蜘蛛抓取更好
3. ¿Cuáles son los tipos de datos en JavaScript?
基本数据类型:string、number、boolean、undefined、null、symbol、biginit
引用类型:object
4. Explicar la captura de eventos y el burbujeo de eventos
事件冒泡:事件冒泡就是在一个对象上绑定事件,如果定义了事件的处理程序,就会调用处理程序。相反没有定义的话,这个事件会向对象的父级传播,知道事件被执行,最后到达最外层document对象上。
事件捕获:和事件冒泡是一个相反的过程,首先在document上找,有事件得到话就执行,没有一直往里面找,一直到到所点击的对象上的事件
5. ¿Cuáles son los métodos de matriz comúnmente utilizados? Enumere al menos 5 métodos y sus funciones.
foreach:遍历数值,没有返回值
map:遍历数组中,有返回值
some:遍历数组中,只要有一个满足条件就返回true
every:只有当全部满足条件的时候才返回true
splice:可以用来截取、替换、删除数组中的元素
6. ¿Cuál es la diferencia entre las instrucciones v-if y v-show en Vue?
v-if是直接控制DOM是否渲染,v-show是通过控制css样式是否显示,在经常需要显示隐藏的时候时候v-show
7. ¿Cuál es la diferencia entre v-text y v-html en Vue, y cuáles son las características de la sintaxis { { }}
v-text不能解析html标签,v-html能解析标签,
{
{}}语法特点:拼接
算术运算
三元运算
能在控制台打印都能写在里面
8. Introducir MVVM
M:模型
V:视图
VM:视图模型
9. Hable sobre su comprensión del modelo de caja
我们把盒模型分为了标准盒模型和怪异盒模型,其中标准盒模型的宽高就等于内容的宽高,而怪异盒模型的宽高包含了padding和border
10. ¿Cuáles son los resultados obtenidos al usar el operador typeof en JavaScript?
number string boolean object function
11. Enumere al menos 5 métodos de cadenas de caracteres de uso común y explique sus funciones.
length:获取字符串的长度、
chartAt():返回指定位置的字符
indexOf():查找某个字符,有则返回第一次匹配到的位置,否则返回-1
lastindexOf():查找某个字符,有则返回最后一次匹配到的位置,否则返回-1
12. ¿Por qué los datos en el componente Vue deberían ser una función?
因为组件data中的数据都应该是相互隔离的,应该私有化,如果写成对象形式的话引用,在多个组件使用时可能会发送错误
13. ¿Cuál es el principio del enlace bidireccional de Vue2.x?
object.definpropoty
14. Qué son los selectores de CSS y cuáles son sus prioridades
类选择器
ID选择器
通配符
属性选择器
子选择器
后代选择器
标签选择器
伪类选择器
id选择器>类选择器>标签选择器>子选择器>后代选择器>伪类选择器
15. ¿Cuáles son las formas de juzgar si una expresión es una matriz?
- Array.prototype.isPrototypeOf(obj)
- obj instancia de Array
- Objeto.prototipo.toString.call(obj)
- Array.isArray()
16. ¿Se pueden usar juntos v-if y v-for? En caso afirmativo, indique la prioridad. De lo contrario, explique el motivo.
不应该一起使用,影响性能
如果要用的话,在vue2.x中,v-for优先v-if
在vue3.x中,v-if优先v-for
17. ¿Qué hace Vue.nextTick()?
在下次 DOM 更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的 DOM。
18. ¿Cuáles son las formas de lograr el centrado en CSS? Escribe al menos tres
- doblar
- Posicionamiento absoluto + margen
- Posicionamiento absoluto + transformación
19. Cómo prevenir el burbujeo de eventos y el comportamiento predeterminado, escribir métodos estándar
-
evitar el burbujeo de eventos
event.stopPropagation() addEventListener的第三个参数为true
-
prevenir el comportamiento predeterminado
1. event.preventDefault() 2. return fasle 3. returnValue=false (IE)
20. ¿Cuáles son los ganchos del ciclo de vida de los componentes de Vue?
beforCreate
created
beformountd
mounted
beforupdate
updated
befordestory
destoryed
21. La diferencia entre link e @import al introducir CSS
link会在dom渲染前加载,@import是在dom渲染完才加载
22. La función y diferencia de llamar y aplicar en JavaScript
作用:改变this指向
区别:call和apply的第一个参数是指向的对象,call在第一个参数后面可以跟n个参数,而apply在第一个参数后面只有一个数组参数
23. ¿Qué son los estados de Promesa y qué significan?
pending:正在进行中
rejected:失败
fulfilled:成功
24. ¿Qué modos de enrutamiento usa VueRouter?
hash:使用url的hash值来作为路由。支持所有浏览器
history:使用HTML5 API和HTTP服务器端配置,没有后台配置的话,页面刷新时会出现404
25. ¿A qué métodos puede llamar VueRouter para implementar la navegación programática?
push():有历史记录,可以回退到上一次记录
replace():替换了记录,想当于没有历史记录,不可以回退到上一次
goBack():后退到上一次的历史记录
goForword():前进到下一次的历史记录
go():为-1时后退,可以回退或者前进很多层
26. Escribe una función recursiva para realizar la operación de factorial de un determinado número, como por ejemplo: 5! = 5 * 4 * 3 * 2 * 1
function fn(n){
if(n==1){
return 1
}
return n*fn(n-1)
}
fn(5)
27. ¿Cuál es la función del filtro en Vue2.x y cómo definirlo?
用来过滤,一般可以用来格式化事件和金额,
全局过滤器定义:Vue.filter('过滤器的名字',function(val){
处理函数
})
局部过滤器定义:在filters选项中定义
28. ¿Cómo implementa VueRouter la carga diferida de rutas?
ES6方法:()=>import('路径')
Vue异步加载技术:resolve=>require(['路径'],resolve)
29. La diferencia entre em y rem
em相对于父元素字体大小
rem相对于根元素字体大小
30. Cómo implementar la deduplicación de elementos de matriz, escriba tres métodos para lograr
-
colocar
const res=Array.from(new Set(arr))
-
Usando el bucle de doble capa + método de empalme
function res(arr){ let len=arr.length for(let i=0;i<len;i++){ for(let j=i+1;j<len;j++){ if(arr[i]===arr[j]){ arr.splice(j,1) len-- j-- } } } return arr } res(arr)
-
Use el método indexOf de la matriz
function removeDuplicate(arr){ const newArr=[] arr.forEach(item=>{ if(newArr.indexOf(item)=== -1){ newArr.push(item) } }) return newArr } removeDuplicate()