北京宇信科技集团前端面试

我今天本来是很凌乱的在写代码,去为字节准备。然后我又收到了拼多多的笔试,我裂开了,就在我考完试的一个小时后,还不能换时间,然后,就在做职业性格测试的时候,突然一个北京的电话,我想起了是之前在双选会上投的前端岗位,然后经典开局。

1、自我介绍
2、看到你的项目使用到了vuex,能介绍一下vuex

vuex是做状态管理的,而且核心熟悉如下:

  • state:vuex的基本数据,提供唯一 的公共数据源,所有共享的数据都要统一放在store中的state中,使用单一状态树,包含我们所需要的基本状态参数
  • getter:相当于State的计算属性
  • mutation:更新数据的方法,同步方式
  • action:功能和mutaion大致相同,action是通过提交mutation来更改状态。
  • module:整个store对象集中到一个很大的对象,将store分割到很多模块,使得每个模块拥有自己的属性
3、看到你用过ElementUI和iview说说主要有些啥组件?

ElementUI:

  • Layout布局

    • Container布局容器
    • Color色彩
    • Typography字体
    • Border 边框
    • Icon 图标
    • Button 按钮
    • Link 文字链接
  • Form

    • Radio 单选框
    • Checkbox 多选框
    • Input 输入框
    • InputNumber 计数器
    • Select 选择器
    • Cascader 级联选择器
    • Switch 开关
    • Slider 滑块
    • TimePicker 时间选择器
    • DatePicker 日期选择器
    • DateTimePicker 日期时间选择器
    • Upload 上传
    • Rate 评分
    • ColorPicker 颜色选择器
    • Transfer 穿梭框
    • Form 表单
  • Data

    • Table表格
    • Tag标签
    • Progress进度条
    • Tree 树形控件
    • Pagination 分页
    • Badge 标记
    • Avatar 头像
  • Notice

    • Alert 警告
    • Loading 加载
    • Message 消息提示
    • MessageBox 弹框
    • Notification 通知
  • Navigation

    • NavMenu 导航菜单
    • Tabs 标签页
    • Breadcrumb 面包屑
    • PageHeader 页头
    • DropDown 下拉菜单
    • Steps 步骤条
  • Others

    • Dialog 对话框
    • Tooltip 文字提示
    • Popover 弹出框
    • Popconfirm 气泡确认框
    • Card 卡片
    • Carousel 走马灯
    • Collapse 折叠面板
    • Timeline 时间线
    • Divider 分割线
    • Calendar 日历
    • Backtop回到顶部
    • InfiniteScroll 无限滚动
    • Drawer抽屉

    iview不罗列了,去官网看吧:http://v1.iviewui.com/docs/introduce

4、对Vue的命令知道多少?
  • v-text:用于操作纯文本,它会替代显示对应的数据对象上的值。当绑定的数据对象上的值发生改变,插值处的内容也会随之更新。注意:此处为单向绑定,数据 对象上的值改变,插值会发生变化;但是当插值发生变化并不会影响数据对象的值。其中:v-text可以简写为{%{}%},并且支持逻辑运算。

  • v-html :用于输出html,它与v-text区别在于v-text输出的是纯文本,浏览器不会对其再进行html解析,但v-html会将其当html标签解析后输出。

  • v-model:通常用于表单组件的绑定,例如input、select等。它与v-text的区别在于它实现的表单组件的双向绑定,如果用于表单控件以外的标签是没用的。

  • v-if:如果v-if=”true”显示v-if的内容,否则显示v-else的内容

    注:v-if和v-show的作用都把内容显示和隐藏,不同的是,v-if在元素隐藏的时候,是把整个DOM元素删除,v-show知识在DOM元素上添加一个样式,把内容隐藏起来。频繁切换用v-show

  • v-show:把v-show=”true”的内容显示出来。

  • v-else:当v-if=“false”的时候显示v-else的内容。

  • v-on:监听元素事件,并执行相应的操作,v-on可以绑定多个事件。

  • v-bind:绑定元素的熟悉并执行相应的操作

5、那v-bind具体呢?

v-bind 主要用于属性绑定,比如你的class属性、style属性、value属性、href属性,只要是属性都可以用v-bind指令进行绑定。

如果我们绑定了class,可以动态的切换class

5、vue的传值
  • props/$emit(父->子)

    在父组件的data中定义一个数据,可以在子组件中使用props来接受

  • 事件传递(子->父)

    在子组件中通过事件,将方法绑定,然后在methods中,完成自定义事件

    在父组件中,通过v-on:自定义事件=函数 并将此函数在method中实现

  • 创建一个空的vue实例作为中央事件总线

    通过事件绑定这个自定义事件,通过Event(刚才创建的空实例).emit(自定义事件,传递数据),同理在需要传递到的组件中,使用Event.$on(自定义事件,数据=> function)

  • vuex

    如果项目大了,使用上面这个方面会显得不易于管理,可以采用vuex作为状态管理方法。vuex实现了一个单向数据流,在全局拥有一个State来存放数据。设置为严格模式时,确保state中的值只能在mutations中被修改。getter是State的计算属性。action和mutation类似,是对异步的函数写入这里,以保证mutaions来仅同步实现。module是为了放在一个state显得冗杂,可以module嵌套,每个module都有自己的属性。

6、未来的职业规划

抱歉没有标准答案,母鸡,瞎掰。

然后她就说之后通知hr联系我,可能会有老板面?公司规模不大?不知道,在智联的上面看到公司规模1000人,小公司吧,就一面,后面没用技术面了,就这样吧,随便练练手,第一感觉压力不大,哈哈哈,hr小姐姐人挺好的,说没事,当聊天就好了。体验还不错,拿不拿offer无所谓了,感觉没咋学,就随便面面,攒攒人品。


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!