CVTE提前批笔试总结

CVTE的笔试中的选择题为多选题,大题为两道编程题,对笔试中的一些点整理如下:

window.history对象

window.history 对象包含浏览器的历史

  • history.length: 返回浏览器历史列表中的 URL 数量。

  • go : 加载 history 列表中的某个具体页面,最常用的,参数为数字(-1上一个页面,1前进一个页面)

    或者字符串(字符串必须是局部或完整的URL,该函数会去匹配字符串的第一个URL)

  • history.back() : 与在浏览器点击后退按钮相同

  • history.forward() : 与在浏览器中点击按钮向前相同

JS返回上一页的方法:

  • history.go(-1)
  • history.back();
  • window.location.go(-1)

script 标签的async属性

async 属性规定一旦脚本可用,则会异步执行。

注释:async 属性仅适用于外部脚本(只有在使用 src 属性时)。

带有async或者defer的script都会立刻下载并不阻塞页面解析,而且都提供一个可选的onload事件处理,在script下载完成后调用,用于做一些和此script相关的初始化工作。它的不同之处在于async一旦下载完成就立即执行(在window.onload事件之前),不确保执行的顺序,而defer能确保js是在按照其在页面中的顺序执行(在DOMContentLoaded事件之前)

onload与DOMContentLoaded的区别

  • onload 事件触发时,页面上所有的DOM,样式表,脚本,图片,flash都已经加载完成了。
  • DOMContentLoaded 事件触发时,仅当DOM加载完成,不包括样式表,图片,flash。

CORS

CORS是一个W3C标准,全称是”跨域资源共享”(Cross-origin resource sharing,它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制

CORS需要浏览器和服务器同时支持,对于开发者来说,CORS通信与同源的AJAX通信没有差别,代码完全一样。浏览器一旦发现AJAX请求跨源,就会自动添加一些附加的头信息,有时还会多出一次附加的请求,但用户不会有感觉。因此,实现CORS通信的关键是服务器。只要服务器实现了CORS接口,就可以跨源通信

服务器端对于CORS的支持,主要就是通过设置Access-Control-Allow-Origin来进行的。如果浏览器检测到相应的设置,就可以允许Ajax进行跨域的访问

简单请求与非简单请求:

(1) 请求方法是以下三种方法之一:

  • HEAD
  • GET
  • POST

(2)HTTP的头信息不超出以下几种字段:

  • Accept
  • Accept-Language
  • Content-Language
  • Last-Event-ID
  • Content-Type:只限于三个值application/x-www-form-urlencodedmultipart/form-datatext/plain

只要同时满足以下两大条件,就属于简单请求,凡是不同时满足上面两个条件,就属于非简单请求。

对于简单请求,浏览器直接发出CORS请求。具体来说,就是在头信息之中,增加一个Origin字段(Origin字段用来说明,本次请求来自哪个源(协议 + 域名 + 端口)。服务器根据这个值,决定是否同意这次请求)

Access-Control-Allow-Credentials

该字段可选。它的值是一个布尔值,表示是否允许发送Cookie。默认情况下,Cookie不包括在CORS请求之中。设为true,即表示服务器明确许可,Cookie可以包含在请求中,一起发给服务器。这个值也只能设为true,如果服务器不要浏览器发送Cookie,删除该字段即可

与JSONP的比较:

CORS与JSONP的使用目的相同,但是比JSONP更强大。

JSONP只支持GET请求,CORS支持所有类型的HTTP请求。JSONP的优势在于支持老式浏览器,以及可以向不支持CORS的网站请求数据。

jQuery的ajax方法中默认是请求不带cookie

得到页面中出现最多次数的标签及其次数

function getCount() {
  var tags = document.getElementsByTagName('*');
  var obj = {};
  var max = 0;
  var tag = '';

  for(var i = 0; i < tags.length; i++) {
    var item = tags[i].tagName;

    if(obj[item]) {
      obj[item]++;
      if(max < obj[item]) {
        max = obj[item]
        tag = item + '';
      }
    }else {
      obj[item] = 1;
    }
  }

  console.log(max,tag);         
}

模板引擎

简单实现:

function template(str) {

  function replace(obj) {
    var t = null;
    for(var item in obj) {
      reg = new RegExp('<%= ' + item + ' %>', 'ig');
      t = (t || str).replace(reg, obj[item]);
      console.log(t);
    }

    return t;
  }

  return replace;
}

var complite = template('今天<%= day %>, 在<%= day %>应该去爬山, 天气<%= weather %>');
var str = complite({
  day : '星期三',
  weather : '晴'
});
document.write(str);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: CVTE嵌入式开发笔试主要针对应聘者在嵌入式领域的专业知识、技能以及解决问题的能力进行考察。下面是对CVTE嵌入式开发笔试的回答: 首先,CVTE嵌入式开发笔试可能会涉及嵌入式系统的基本概念和原理,如嵌入式系统的定义、特点、应用领域、硬件和软件资源管理等。应聘者需要了解嵌入式系统的基本架构以及单片机和微控制器等硬件组成部分的工作原理。 其次,笔试中可能会有编程相关的问题,如嵌入式C语言程序设计,应聘者需要了解C语言在嵌入式系统中的使用,掌握C语言的语法、数据类型、存储类别、指针、位操作等相关知识。此外,应聘者还需要具备编写、调试和优化嵌入式C语言程序的能力。 此外,在CVTE嵌入式开发笔试中还可能涉及到硬件设计和电路原理的知识。应聘者需要具备基本的模拟和数字电路设计能力,熟悉常用的逻辑门电路、存储器设计、时序设计等。此外,了解基于控制器的外围设备接口(SPI、I2C、UART等)的工作原理以及与硬件的互联方式也是必要的。 最后,CVTE嵌入式开发笔试可能还包括对操作系统、驱动程序和通信协议等方面的考查。应聘者需要了解嵌入式操作系统的分类、特点以及常用的实时操作系统,了解驱动程序的开发流程和常用的接口,以及熟悉通信协议(如USB、CAN、Ethernet等)的工作原理和应用。 总结来说,CVTE嵌入式开发笔试主要考察应聘者在嵌入式系统领域的基本知识、编程能力和解决问题的能力。应聘者需要熟悉嵌入式系统的硬件和软件方面知识,并具备编写优质嵌入式程序的能力。 ### 回答2: CVTE嵌入式开发笔试是一个面向计算机视听技术有兴趣并且具备一定嵌入式开发能力的应聘者的笔试。该笔试旨在评估应聘者的嵌入式开发技术能力和实际应用能力。 笔试内容通常包括以下方面: 1. 嵌入式系统基础知识:答题者需要对嵌入式系统的基本概念、硬件架构、操作系统和驱动程序有一定的了解。 2. C/C++编程能力:对于嵌入式开发而言,熟练掌握C/C++编程语言是必不可少的。笔试可能会涉及编程语言的基础知识、常用语法和数据结构算法。 3. 单片机编程:对于嵌入式系统而言,单片机是核心组成部分,应聘者需要熟悉单片机的工作原理、接口和编程方式。 4. 嵌入式系统设计与开发:答题者需要了解嵌入式系统的整体设计与开发流程,包括硬件选型、接口设计、驱动程序开发等。 5. 通信协议和网络编程:对于连接外部设备和与其他设备通信的嵌入式系统,需要了解通信协议和网络编程的基本知识。 6. 实际应用案例:笔试可能提供实际的嵌入式开发应用场景,要求应聘者根据所给的要求进行系统设计和编程。 参加CVTE嵌入式开发笔试对于嵌入式开发工程师的应聘者来说是一个很好的机会,能够全面评估应聘者的嵌入式开发能力和实际应用能力。同时,笔试也可以帮助CVTE筛选出符合岗位要求的人才,提高招聘效率。 ### 回答3: CVTE嵌入式开发笔试主要测试应聘者在嵌入式系统设计和开发方面的能力。在笔试中,应聘者可能会面临以下几个方面的问题: 1. 嵌入式系统基础知识:笔试可能会涉及嵌入式系统的基础知识,如处理器架构、内存管理、中断和异常处理等。应聘者需要清楚地了解这些知识点,并能应用到实际的系统设计和开发中。 2. C语言编程能力:嵌入式系统开发一般使用C语言进行编程,应聘者需要具备扎实的C语言编程基础,并能处理一些与嵌入式系统相关的语法和特性,如位操作、指针和内存管理等。 3. 硬件接口和外设控制:在嵌入式系统开发中,外设控制是一个重要的环节。应聘者需要了解各种硬件接口和标准,如串口、I2C和SPI等,并能编写相关驱动程序来实现对外设的控制和访问。 4. 操作系统和RTOS:嵌入式系统开发中经常会使用操作系统或实时操作系统(RTOS),应聘者需要了解操作系统的基本原理和相关API,如任务调度、进程间通信和内存管理等。 5. 软件调试和故障排除:在嵌入式系统开发中,调试和故障排除是一项非常重要的技能。应聘者需要熟悉常用的调试工具和技术,如调试器和逻辑分析仪,并能快速定位和修复软件和硬件故障。 在CVTE嵌入式开发笔试中,应聘者需要展现他们在嵌入式系统设计和开发方面的能力和经验。通过对基础知识、编程能力、硬件接口和外设控制、操作系统和RTOS以及软件调试和故障排除的考察,HR和技术团队能够更好地评估应聘者的适应能力和技术水平,从而选择出最合适的人选。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值