首页IT科技亚信科技面试题软件测试(亚信实习前端笔试2023(自用复盘含解析版))

亚信科技面试题软件测试(亚信实习前端笔试2023(自用复盘含解析版))

时间2025-06-18 18:23:26分类IT科技浏览5279
导读:1.以下路由代码中,如果现在跳转到“/inbox/messages/3”,浏览器链接栏中显示的路由为```jsx (D ...

1.以下路由代码中                ,如果现在跳转到“/inbox/messages/3            ”                    ,浏览器链接栏中显示的路由为```jsx (D)

​ <Redirect from=“messages/:id                      ” to=“/messages/:id        ” />

​ ```

A./inbox/messages/3

B.messages/3

C./inbox/messages

D./messages/3

组件用于路由的跳转      ,即用户访问一个路由            ,会自动跳转到另一个路由                     ,访问/inbox/messages/3         ,会自动跳转到/messages/3

2.下列关于scoped的描述错误的是(B)

A.scoped原理是在标签上添加data-v属性        ,然后使用属性选择器实现样式局部化

B.使用scoped                      ,父组件的样式会渗透到子组件内部的元素

C.使用scoped不会造成全局污染

D.">"可以实现样式穿透

使用scoped后            ,父组件的样式将不会渗透到子组件中            。不过一个子组件的根节点会同时受其父组件的scoped css和子组件的scoped css的影响                      。这样设计是为了让父组件可以从布局的角度出发    ,调整其子组件根元素的样式

3.在React中渲染列表应该使用哪种方法?(A)

A.map()

B.reduce()

C.createList()

D.every()

没学react        。

map()方法将数组中的每个元素变成标签                       ,最后将得到的标签数组插入父元素即可         。

4.关于Vue组件化说法错误的是(B)

A. 所谓组件化               ,就是把页面拆分成多个组件 (component),每个组件依赖的 CSS                、JavaScript                    、模板      、图片等资源放在一起开发和维护

B. 组件是资源独立的                    ,组件在系统内部可复用                   ,但是组件和组件之间不可以嵌套

C. vue的组件之间可以进行通信

D. 组件化能提高开发效率   ,方便重复使用                ,简化调试步骤                    ,提升项目可维护性      ,便于多人协同开发

组件和组件之间可以嵌套

5.下列哪个查找最快?(A)

A.哈希表法(散列表)

B.顺序查找

C.二分查找

D.二叉排序树查找

不太记得哈希表法            ,但猜对

哈希表法:O(1)

顺序查找:O(n)

二分查找/二叉排序树查找:O(logn)

6.Class内部有一handleClick方法如下代码块                     ,在点击事件中触发handleClick的正确方法是?(A)

handleClick(){ console.log(this.state:,this.state); }

A.onClick={ () => this.handleClick()}

B.onClick={ this.handleClick()}

C.onClick={ this.handleClick}

D.οnclick={ handleClick}

js中         ,class方法不会绑定this,所以调用时要加this

react绑定事件的方法        ,没学过不了解

7.执行以下程序                      ,下列选项中            ,说法正确的是(C

class Dog{ static dog(){ console.log(this); ...① } bark(){ console.log(狗会叫); } } var dog = new Dog();

A.①式的this指代类的实例对象

B.调用dog方法    ,既可以使用Dog.dog()                       ,也可以使用dog.dog()

C.调用bark方法               ,只能使用dog.bark(),不能使用Dog.bark()

D.在类中                    ,不允许静态方法和非静态方法重名

直接用类调用                   ,只能调用静态                     。

而且   ,静态方法只能由类进行调用            。

静态方法和非静态方法不会引起歧义                ,所以可以重名      。

8.有如下代码                    ,最终渲染出来的div元素的class属性值是( B )

有如下模板:

<div class="static" v-bind:class="{ active: isActive, text-danger: hasError }" ></div>

和如下data:

data: { isActive: true, hasError: false }

A.static isActive

B.static active

C.static hasError

D.isActive

IsActive==true,所以active属性生效

9.下列关于Vue响应式的描述错误的是( C

A.当利用索引值设置一个数组项时      ,Vue不能检测到数组的变动

B.当修改数组的长度时            ,Vue不能检测到数组的变动

C.Vue可以监听对象属性的添加或删除

D.可以通过Vue.set()方法向嵌套对象添加响应式属性

由于 JavaScript 的限制                     ,Vue 不能检测数组和对象的变化         ,因而对象属性的添加或删除不可以监听到                    。

10.若有一个顺序有序表A[1:18] 中有18个元素        ,现进行二分查找                      ,则查找 A[3]的比较序列的下标依次为(D )                。

A.1            ,2    ,3

B.9                       ,5               ,2,3

C.9                    ,5                   ,3

D.9   ,4                ,2                    ,3

二分法除以2时向下取整   。

11.如果想要在组件第一次加载后获取该组件的dom元素      ,应当在以下哪个生命周期中进行(B)

A.componentDidUpdate()

B.componentDidMount()

C.componentWillUnmount()

D.shouldComponentUpdate()

react生命周期函数            ,不太了解

12.执行以下程序                     ,当用户在prompt输入框中输入0时         ,输出结果为(B

var num = prompt(请输入分母:) try{ console.log(a); value = 0 / num; console.log(b); } catch(e){ console.log(c); } finally{ console.log(d); }

A.a c d

B.a b d

C.a b c d

D.a b c

在js中        ,0是可以作分母的                      ,0/0的结果为NaN            ,并不会抛出异常                   。

不管有没有异常    ,finally都会执行                    。

13.下面是对refs使用不合适的是(D)

A.集成第三方DOM库

B.触发强制动画

C.管理焦点                       ,文本选择或媒体播放

D.获取子组件的实例               ,直接通过子组件的setstate方法修改子组件的state

react

14.关于以下 URL的描述错误的是(A

A.http表明使用TCP协议

B.又名统一资源定位符,方便确定一个资源                    ,并表示出它在哪里

C.URL中隐藏了端口号                   ,默认是80端口

D.访问URL可使用大写字母

http只能表明使用了HTTP协议   ,默认80端口

15.下列不属于Vue的特点的是( D)?

A.Vue.js的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进DOM的系统

B.实现了双向数据绑定

C.Vue.js可以进行组件化开发                ,使代码编写量大大减少                    ,读者更加易于理解D.Vue虽然也提供了渲染函数      ,默认使用模板渲染            ,且不支持JSX

支持JSX

16.关于Vue组件的生命周期说法错误的是(C )

A.mounted钩子函数中                     ,可以直接获取DOM元素

B.beforeMount钩子函数中         ,不可以直接获取DOM元素

C.beforeDestroy钩子函数中        ,不可以直接获取DOM元素

D.destroyed钩子函数中                      ,不可以直接获取DOM元素

beforeDestroy还没销毁            ,可以获取

17.现有以下代码, 打印的结果是( A )

new Vue({ data: { a: first, b: second }, created: function () { console.log(this.a) }, mounted(){ console.log(this.b) } })

A.‘first’

B.‘first’ ‘second’

C.undefined undefined

D.空

只创建了还没挂载    ,所以mounted不执行

如果写了el:app’就挂载了

18.执行以下程序后                       ,x的值为(A)

var x=0; switch(++x){ case :++x; case 1:++X; case 2:++x; }

A.3

B.4

C.2

D.1

19.下列关于客户端渲染和服务器端渲染的描述错误的是(D )

A.服务器端渲染有利于SEO               ,且首页加载快

B.客户端渲染节省后端资源,但可能会加载慢出现白屏

C.服务器端渲染耗费流量                    ,局部页面的变化也需要重新请求完整的页面

D.客户端和服务器端在首屏渲染上网络请求次数是一样的

服务器端只请求一次

客户端先拿到空的html模板                   ,之后再发起数据请求

20.关于keep-alive说法错误的是(D )

A.keep-alive可以通过include属性   ,匹配要进行缓存的组件

B.当组件在keep-alive内被切换                ,它的activated和deactivated这两个生命周期钩子函数将会被对应执行

C.keep-alive自身不会渲染为一个 DOM 元素                    ,也不会出现在组件的父组件链中

D.max属性控制最多可以缓存多少组件实例。一旦这个数字达到了      ,新创建的实例则不能再进行缓存

最久没访问的实例会被销毁            ,新创建的可以缓存

21.要在下面代码中组件的props上进行类型检查                     ,可以使用(C

import PropTypes from prop-types; class Greeting extends React.Component { render() { return ( <h1>Hello, {this.props.name}</h1> ); } }

A.Greeting.propType = {name: PropTypes.string};

B.Greeting.propsType = {name: PropTypes.string};

C.Greeting.propTypes = {name: PropTypes.string};

D.Greeting.proptypes = {name: PropTypes.string};

没看懂

22.下列关于vue-lazyload的描述错误的是( B

A.组件中使用vue-lazyload时         ,v-lazy代替v-bind:src

B.组件中使用vue-lazyload时        ,必须要加:key属性

C.vue-lazyload指令可以实现图片的懒加载

D.使用vue-lazyload时                      ,扩展功能api中的attempt代表尝试加载图片数量

可以不加:key            ,但可能会出问题    ,比如刷新页面时由于key相同                       ,图片不刷新               。

23.以下不是vue内置指令的是(D )

A.v-html

B.v-on

C.v-for

D.v-hidden

没见过v-hidden

24.下列关于Vue的描述错误的是( B

A.当给某个组件修改某个值时               ,该组件不会立即重新渲染

B.Vue内部使用原生Promise.then            、MutationObserver和setImmediate实现异步队列,不会采用setTimeout(fn, 0)

C.$nextTick()返回一个Promise对象

D.$nextTick()可以配合async/await使用

Vue 在内部对异步队列尝试使用原生的 Promise.then                     、MutationObserver 和 setImmediate                    ,如果执行环境不支持                   ,则会采用 setTimeout(fn, 0) 代替

没看懂                       。

25.关于Animation-timing-function下列说法正确的是? (B

)

A.linear是默认动画   ,动画从头到尾的速度是相同的

B.ease是默认动画                ,动画以低速开始                    ,然后加快      ,在结束前变慢

C.cubic-bezier(n, n, n, n)            ,在cubic-bezier 函数中自己的值    。可能的值是从0到100的数值

D.ease-in动画以低速结束

A.默认不是linear                     ,是ease

C.可能的值是0-1

D.动画以低速开始

26.对于下列二叉树,进行前序遍历的结果为(C

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HnO7t2eF-1681053819003)(亚信web.assets/102_1412686818517_图片1.png)]

A. DYBEAFCZX

B. YDEBFZXCA

C. ABDYECFXZ

D. ABCDEFXYZ

前序遍历:根         、左        、右

27.下列关于v-for说法错误的是( C)

A.v-for指令基于一个数组来渲染一个列表

B.v-for指令需要使用item in items形式的特殊语法         ,其中items是源数据数组        ,而item则是被迭代的数组元素的别名

C.不可以用v-for来遍历一个对象的property

D.v-for在使用的时候最好添加key                      ,且key最好不是索引

可以用v-for来遍历一个对象的property(属性)

28.下列content-type那个在post跨域请求时会发出options请求(B

)

A.application/x-www-form-urlencoded

B.application/json

C.multipart/form-data

D.text/plain

options请求:预检请求            ,一种探测请求以确定针对某个目标地址的请求必须具有怎样的约束            。

当请求满足下述任一条件时    ,即应首先发送预检请求(使用OPTIONS)

1                      、使用了下面任一 HTTP 方法:

PUT

DELETE

CONNECT

OPTIONS

TRACE

PATCH

2            、人为设置了对 CORS 安全的首部字段集合之外的其他首部字段                      。该集合为:

Accept

Accept-Language

Content-Language

Content-Type (but note the additional requirements below)

DPR

Downlink

Save-Data

Viewport-Width

Width

3    、Content-Type 的值不属于下列之一:

application/x-www-form-urlencoded

multipart/form-data

text/plain

29.以下关于ReactDOM.render说法错误的是 (B)

A.ReactDOM.render() 会控制你传入容器节点里的内容

B.ReactDOM.render() 会修改容器节点以及其子节点

C.ReactDOM.render() 目前会返回对根组件 ReactComponent 实例的引用

D.使用 ReactDOM.render() 对服务端渲染容器进行 hydrate 操作的方式已经被废弃                       ,并且会在 React 17 被移除

react 不太懂

ReactDOM.render() 不会修改容器节点(只会修改容器的子节点)        。可以在不覆盖现有子节点的情况下               ,将组件插入已有的 DOM 节点中         。

30.问题:span标签的width和height分别为多少? (D)

<div style=         ”width:400px;height:200px;                     ”> <span style=            ”float:left;width:auto;height:100%;      ”> <i style=                    ”position:absolute;float:left;width:100px;height:50px;                ”>hello</i> </span> </div>

A.width = 0px,height = 0px

B.width = 400px                    ,height = 200px

C.width = 100px                   ,height = 50px

D.width = 0px   ,height = 200px

span不是块级元素                ,不支持宽高                    ,但是float:left使得span变成块级元素支持宽高                     。

height:100%----和父级元素相同            。width:auto—宽度由内容撑开

i标签使用的是绝对定位      ,脱离了文档流            ,不再占父级空间                     ,所以无法撑开父级      。

31.关于下列CSS选择器:ID选择器                       、类选择器               、伪类选择器、标签名称选择器         ,排序正确的是:(B

)

A.ID选择器> class 选择器>伪类>标签名称选择器

B.ID 选择器> class 选择器=伪类>标签名称选择器

C.ID选择器>伪类> class 选择器>标签名称选择器

D.ID 选择器> class 选择器>伪类=标签名称选择器

32.请按顺序选择正确的代码        ,实现图片预加载功能( C

<template> <div> <div> <h1><strong>Loading...</strong></h1> <h2><strong>{{percent}}%</strong></h2> </div> </div> </template> <script> export default { data() { return { count: 0, percent: , images: [ example.png, ..., ... ] } }, mounted() { __1__() }, methods: { preload: function() { for (let url __2__ this.images) { let image = new Image() image.src = url image.__3__ = () => { this.count++ this.percent = Math.floor(this.count / this.images.length * 100) } } }, }, watch: { __4__: function(num) { if (num === this.images.length) { this.$router.push({path: home}) } } } } </script>

A.onload                    、of                   、this.preload   、count

B.this.preload                、in                    、onload      、percent

C.this.preload            、of                     、onload         、count

D.onload        、in                      、this.preload            、percent

挂载时                      ,调用preload方法            ,使用of获取数组每项    ,图片加载成功时触发onload事件                       ,观察count               ,当count等于数组长度时,代表全部加载完毕                    ,进行跳转                    。

for…in 语句以原始插入顺序迭代对象的可枚举属性(只能迭代出可枚举的属性)                。—拿到的是下标

for…of 语句遍历可迭代对象定义要迭代的数据(非自定义属性)   。—拿到的是值

33.有如下 CSS 代码

div { margin-top: 20px; margin-right: 30px; margin-bottom: 40px; margin-left: 50px; }

请问下列选项与该 div 实现了相同效果的是:(A )

A.div{margin: 20px 30px 40px 50px};

B.div{margin: 20px 50px 40px 30px};

C.div{margin: 20px 40px 50px 30px};

D.div{margin: 20px 40px 30px 50px}.

上                   ,右   ,下                ,左                    ,顺时针

34.关于Vue组件化说法错误的是( B )

A.所谓组件化      ,就是把页面拆分成多个组件 (component)            ,每个组件依赖的 CSS    、JavaScript                       、模板               、图片等资源放在一起开发和维护

B.组件是资源独立的                     ,组件在系统内部可复用         ,但是组件和组件之间不可以嵌套

C.vue的组件之间可以进行通信

D.组件化能提高开发效率        ,方便重复使用                      ,简化调试步骤            ,提升项目可维护性    ,便于多人协同开发

组件是资源独立的                       ,组件在系统内部可复用               ,而且组件和组件之间可以嵌套

35.以下序列(9,7,3,5)构造的Haffman树带权路径长度为( C)

A. 45

B. 46

C. 47

D. 48

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-m9KTiLJQ-1681053828563)(null)]

36. 一般包含什么?©

A.头部区域

B.侧边栏

C.文章主题部分

D.底部内容

主体内容

37.执行以下程序,输出结果为(A)

var str = acdaecad; var obj = {}; for (var i = 0;i<str.length;i++){ if (obj[str.charAt(i)]){ //判断是obj里是否有str里面某个字母的属性 obj[str.charAt(i)]++;//如果有                    ,给那个属性++ } else { obj[str.charAt(i)] = 1; //如果没有                   ,给obj添加那个属性 } } var val1; var val2 = 0; for (var k in obj) { //for in 循环遍历对象   ,k是键(也就是对象的属性名) obj就是原对象 if (obj[k] > val2){ 如果obj的属性值大于val2 里面a出现的最多                   。++次数最多                ,也就是3 val2 = obj[k]; //val2等于obj的属性值 val1 = k; //最后将属性名赋予 } } console.log(val1);所以最后输出a

A. a

B.3

C.e

D.1

程序一开始先把字符串str的单个字符作为对象obj的属性                    ,属性值为单个字符在字符串str中的个数      ,即obj = {a: 3, c: 2, d: 2, e: 1}            ,然后开始遍历对象obj                     ,找出对象obj属性值最大的属性名         ,因此最终val1结果为属性a        ,val2为该属性对应的属性值3                      ,该程序的执行效果即为找出字符串str中同一元素出现个数最多的字符以及对应的个数

38.以下选项中不可以进行路由跳转的是( A )

A.this.$router.jump()

B.route-link

C.this.$router.push()

D.this.$router.replace()

B:声明式导航

C、D:编程式导航

route-link                    、this.

r

o

u

t

e

r

.

p

u

s

h

(

)

                  、

t

h

i

s

.

router.push()   、this.

router.push()                、this.router.replace()                    、this.$router.go()等

39.以下哪项对react-router-dom中组件分类是错误的(D)

A.路由器组件: BrowserRouter和HashRouter

B.导航组件: Link和NavLink

C.路由匹配组件: Route和Switch

D.导航组件: Route和Switch

又是react

在react-router-dom中通常使用的组件有三种路由器组件: 如BrowserRouter和HashRouter

​ 路由匹配组件: Route和Switch 组件

​ 导航组件: Link和NavLink 组件

40.下列有关定位说法错误的是(A

A.absolute 可以基于 static 定位

B.fixed 固定悬浮在视口内

C.若无显示说明            ,定位 positon 不会继承到子元素

D.relative 相对于其正常位置进行定位

absoulte的定义是基于非static的父元素

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
学电脑计算机可以做什么工作(学电脑如何赚钱-学计算机专业应该怎么进行职业规划?这个专业赚钱吗?) 外贸企业网站制作入门(外贸seo网站建设)