24届前端求职路(广东)

113 阅读7分钟

前言

因为被毁三方的原因,所以也没有春招的机会了,基本只能靠提前的校招和社招了,但是说实话校招反响为零,可能要等九月份了。但是华为OD的热情远超我想象,累积小十个华为OD的hr联系到我,也不知道这里面有什么底层逻辑(懂的大佬告诉我,拜谢)。

深圳(1-3年)笔试

发明笔试的也是神人了。

  1. rem和em。rem相对于根字体,em相对于当前字体。
  2. box-sizing属性。
  3. 判断是不是对象,是不是{}(里面没有属性)
   function isEmptyObject(obj) { return Object.keys(obj).length === 0 && obj.constructor === Object; }
  1. 'I am delevoprer' 改成 'Delvoper am I'。(不懂,懂评,拜谢)
  2. 把3.1445四舍五入到3.15. (不懂,懂评,拜谢)

手写Once

function once(func) { 
    let called = false; 
    return function() { 
        if (!called) { 
            called = true; 
            return func.apply(this, arguments); 
        } 
   }; 
}

响应式布局

PC和IPAD就是一行三列,移动端就是一列三行。 我的思路就是媒体查询给外层div加上flex布局。

<div class="parent">
    <div></div>
    <div></div>
    <div></div>
</div>

/* PC 端(屏幕宽度大于 1024px) */
@media (min-width: 1025px) {
 .parent {
    display: flex;
  }
}

/* iPad 横屏(宽度在 768px 到 1024px 之间) */
@media (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
 .parent {
    display: flex;
  }
}

最后是算法题,就是十个评委给100张照片打分,去除最大值和最小值,返回结果。

我忘记去除最大值最小值了,直接三十分没了。 后面想了一下有一个从数组找到最小值、最大值的方法。 Math.max(...[1,2,3,4]) Math.min(...[1,2,3,4])

其他题目都忘了。

深圳(1年)面试

BOM和DOM是啥

BOM(Browser Object Model,浏览器对象模型) BOM 使 JavaScript 有能力与浏览器进行交互。BOM 提供了一些对象,用于访问浏览器的功能,比如窗口对象(window)、导航对象(location)、历史对象(history)、屏幕对象(screen)等。 例如,通过 window 对象可以控制浏览器窗口的大小、位置,打开新窗口或关闭窗口;通过 location 对象可以获取或设置当前页面的 URL 地址等。 javascript // 使用 BOM 控制窗口大小 window.resizeTo(800, 600); // 使用 BOM 获取当前页面 URL var currentUrl = window.location.href; DOM(Document Object Model,文档对象模型) DOM 把 HTML 或 XML 文档描绘成一个由多层节点构成的结构树。通过 DOM,程序可以对文档的内容和结构进行操作和访问。可以对文档进行添加、修改、删除节点等操作,还可以获取节点的属性、文本内容等信息。 javascript // 获取文档中的第一个 <p> 元素 var firstParagraph = document.getElementsByTagName('p')[0]; // 修改元素的文本内容 firstParagraph.innerHTML = '新的文本内容'; 总的来说,BOM 主要处理浏览器相关的操作,而 DOM 主要处理文档内容和结构的操作。

HTTPS 和 HTTP的区别

  1. 安全性

    • HTTP 是明文传输,数据在网络中以明文形式发送和接收,容易被窃取和篡改。
    • HTTPS 通过 SSL/TLS 协议进行加密,对传输的数据进行加密处理,保证了数据的机密性和完整性,安全性更高。
  2. 连接方式

    • HTTP 的连接相对简单,直接建立 TCP 连接进行数据传输。
    • HTTPS 在建立 TCP 连接后,还需要进行 SSL/TLS 握手,协商加密算法等参数,连接过程更复杂。
  3. 端口

    • HTTP 通常使用 80 端口。
    • HTTPS 通常使用 443 端口。
  4. 证书

    • HTTPS 需要服务器拥有数字证书,用于验证服务器的身份,确保客户端连接到的是合法的服务器。而 HTTP 不需要证书。
  5. 性能

    • 由于 HTTPS 增加了加密和解密的过程,会带来一定的性能开销,相对 HTTP 来说,可能会稍微影响传输速度。

例如,对于一个涉及用户敏感信息(如密码、信用卡信息)的网站,使用 HTTPS 可以确保这些信息在传输过程中不被窃取。而对于一些公开的、不涉及敏感信息的网站,如新闻资讯类网站,可能会出于成本和性能考虑,使用 HTTP 。

总的来说,HTTPS 相比 HTTP 提供了更高级别的安全性,但也伴随着一些性能和成本上的考量。在实际应用中,应根据具体需求和场景来选择使用 HTTP 还是 HTTPS 。

UDP 和 TCP 的区别

UDP(用户数据报协议)和 TCP(传输控制协议)主要有以下区别

  1. 连接性: - TCP 是面向连接的协议,在数据传输之前需要建立连接。 - UDP 是无连接的协议,不需要在发送数据之前建立连接。
  2. 可靠性: - TCP 提供可靠的数据传输,通过确认、重传、拥塞控制等机制保证数据的无差错、按顺序到达。 - UDP 不保证数据的可靠交付,可能会出现丢包、乱序等情况。
  3. 有序性: - TCP 中的数据是按顺序到达的。 - UDP 不保证数据的顺序。
  4. 首部开销: - TCP 的首部开销较大,通常为 20 字节。 - UDP 的首部开销小,只有 8 字节。
  5. 应用场景: - TCP 适用于对数据准确性和顺序要求较高的应用,如文件传输、电子邮件、网页浏览等。 - UDP 常用于实时性要求较高、对少量丢包不敏感的应用,如视频直播、音频通话、在线游戏等。 例如,在视频直播中,如果偶尔丢失几个数据包,对观看体验的影响可能不大,但要求实时性高,此时使用 UDP 更合适。而在文件下载时,数据的完整性和顺序非常重要,所以使用 TCP 更为恰当。 总的来说,TCP 更注重数据传输的可靠性和顺序性,而 UDP 更注重传输的效率和实时性。选择使用哪种协议取决于具体的应用需求和场景。

说一下三次握手,四次挥手

为什么要四次挥手

输入浏览器的URL的过程发生了啥

广州(1年)面试

前面聊了很久我的大学生活,还有我的实习经历,聊了大概二十分钟吧。下面是一些面试题。

vue的双向绑定

这个也是老生常谈了吧,本质上虽然是语法糖但是还是和:value+@input(不同表单组件监听的事件不一样,input标签是input事件,其他不同可以自定义事件。)不一样,区别主要在中文语言拼音时候,如果是v-model的话,会等字都打完了再同步数据,如果是第二种写法每打一个字母都会同步数据。

如何隐藏一个元素

如何实现防抖函数

float的原理是什么,高度塌陷如何避免

深圳(1年)面试

八股都背不好我真是没救了。

js有几种数据类型

== 和 === 有什么区别

new 的实现原理

js的作用域是什么

js的this是什么

js的原型是什么,原型链是什么

什么是事件循环

事件循环是啥

es6新增的特性有哪些

你对ts的理解

ts有哪些js新增的类型

ts 的 any 和 unknown 的区别

vue2和vue3生命周期的不同

vue2和vue3的响应式原理的不同

vue的组件化原理

工作中遇到什么困难了,怎么解决的

讲一下对鸿蒙的理解

这家过了,最后拿了7700,没去。因为是外包而且要转鸿蒙。最后笔者去了一家自研的,但是工资也很低。感觉应届生最好的机会还是春秋招,社招太难了。