interview:developer:vue_developer:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
interview:developer:vue_developer:start [2025/02/11 11:51] perry.zenginterview:developer:vue_developer:start [2025/03/26 16:16] (current) – [提交方法] yan.feng
Line 1: Line 1:
 ====== Vue Developer Interview ====== ====== Vue Developer Interview ======
  
-<note warning>电邮內必须寫下你名字微信号另外再附上你的pdf簡历否则予处理</note>+==== 时限 ==== 
 +  * 2小时 
 + 
 + 
 +==== 提交方法 ==== 
 + 
 +     * 第一题:请将答案写在 .txt 文件内。 
 +     * 第二题:请将相关的 .js 和 .vue 文件放在一个文件夹内不要包含脚手架文件(如 node_modules)和第三方插件。 
 +     * 提交要求:所有题目答案统一放在一个文件夹内并用 ZIP 格式压缩(可用 RAR 或其他格式) 
 + 
  
 =====  第一题 ===== =====  第一题 =====
Line 7: Line 17:
 阅读代码并回答以下问题: 阅读代码并回答以下问题:
  
-  -  button.update({ active: true, disabled: false })会输出?为什么?+  -  button.update({ active: true, disabled: false })的结果是什么?为什么?
  
 <code> <code>
Line 16: Line 26:
     opt = opt || {}     opt = opt || {}
     this.status = {     this.status = {
-      active: typeof opt.active === 'boolean' ? opt.active : true+      active: typeof opt.active === 'boolean' ? opt.active : true,
       disabled: typeof opt.disabled === 'boolean' ? opt.disabled : true       disabled: typeof opt.disabled === 'boolean' ? opt.disabled : true
     }     }
Line 31: Line 41:
   }   }
  
-  getValidation(data) {+  getValidation(data }) {
     Object.keys(this.status).forEach((k) => {     Object.keys(this.status).forEach((k) => {
       const rule = this.rules.find((r) => r.key === k)?.value       const rule = this.rules.find((r) => r.key === k)?.value
Line 52: Line 62:
 function getValidation({ rule, data }) { function getValidation({ rule, data }) {
   if (!rule) {   if (!rule) {
-    return true+    return false
   }   }
   const { key = '', value } = rule   const { key = '', value } = rule
Line 73: Line 83:
       return rowValue === value['$eq']       return rowValue === value['$eq']
     }     }
-    case '$gt':+    
-      return rowValue > value['$gt'+
-    } +
-    case '$gte':+
-      return rowValue >= value['$gte'+
-    } +
-    case '$in':+
-      if (Array.isArray(rowValue)) { +
-        return !!rowValue.find((e) => (value['$in'].includes(e))) +
-      } +
-      if (typeof rowValue !== 'object') { +
-        return !!value['$in'].includes(rowValue) +
-      } +
-      return false +
-    } +
-    case '$lt':+
-      return rowValue < value['$lt'+
-    } +
-    case '$lte':+
-      return rowValue <= value['$lte'+
-    } +
-    case '$ne':+
-      return rowValue !== value['$ne'+
-    } +
-    case '$notIn':+
-      if (Array.isArray(rowValue)) { +
-        return !rowValue.find((e) => (value['$notIn'].includes(e))) +
-      } +
-      if (typeof rowValue !== 'object') { +
-        return !value['$notIn'].includes(rowValue) +
-      } +
-      return false +
-    }+
     default:     default:
       return false       return false
Line 141: Line 119:
 }) })
  
 +/** 
 +* 1. button.update({ active: true, disabled: false })会输出?为什么? 
 +*/
    
 </code> </code>
  
-==== 提交方法 ==== 
- 
-  * 请将答案写在txt文件内提交。 
  
  
Line 159: Line 136:
  
  
-请用<wrap hi>Vue.js 2.0</wrap>或<wrap hi>Vue.js .0</wrap>以 "SFC 单文件组件" 编码方式完成以下购物车题目。除了<wrap hi>Vue.js 2.0</wrap>, <wrap hi>Vue.js 3.0</wrap>, bootstrap 外,请尽量少用第三方库。不可使用Element UI, Mint UI等第三方库。 +请用<wrap hi>Vue.js 2.0</wrap>或<wrap hi>Vue.js 3.0</wrap>以 "SFC 单文件组件" 编码方式完成以下购物车题目。除了<wrap hi>Vue.js 2.0</wrap>, <wrap hi>Vue.js 3.0</wrap>, bootstrap 外,请尽量少用第三方库。不可使用Element UI, Mint UI等第三方库。
- +
-^ 时限 | 1小时 | +
-^ 提交方法 | 只需要把相关的.js和.vue文件用ZIP(不可用RAR或其他格式)压缩后电邮代码至 joe.mao@gz.questwork.com 和 don.lee@questwork.com。不要把脚手架文件如node_modules和第三方插件压缩在内。 |+
  
  
  • interview/developer/vue_developer/start.1739245905.txt.gz
  • Last modified: 2025/02/11 11:51
  • by perry.zeng