【面经】美团复试-前端&移动端

话说今天面试的姐姐好温柔...

【组成】:自我介绍+计算机基础+语言核心+杂谈

看起来美团似乎不太关心我做过的项目...还好我还没来得及准备,乐

计算机基础

  1. 进程线程协程相关以及他们的区别

经典老番

  1. 计算机网络分为哪七层?

物理,链路,网络,传输,会话,表示,应用
【当时面试的时候没答上表示层,别的都憋出来了,其实这样考察的比较少】

  1. 那么TCP和UDP在哪一层?以及他们的区别?

经典题,TCP和UDP主要是面向传输的,他们都在传输层里
区别简单来说就是一张表格
image

  1. 那么http和tcp协议的关系呢?

也是经典问题,关于这个问题前面的美团面经应该总结过了。
【不知道为什么,面试记录里应该有我回答过的记录呀,怎么会考重复了】

  1. 关于http和https的区别?

这里关于SSL的加密和验证我没有讲清楚,在这里进行一个总结。

  1. http采用明文方式传输,不进行任何数据加密,非常不安全。https是在http基础上,利用SSL/TLS来加密数据包。
  2. http默认工作在TCP协议80端口,https默认工作在tcp协议443端口。
  3. http的页面响应速度比https快,这主要是因为http只进行TCP连接的三次握手,而https除了三次握手交换的3个包,还需要额外进行SSL握手交换9个包,总共交换12个包。
  4. 使用https需要到CA(Certificate Authority)数字证书认证机构申请证书
  5. https工作流程(转自菜鸟教程)
    image
  • 第一步:客户端发起HTTPS请求
  • 第二步:采用https协议的服务器都有数字证书,数字证书其实就是一对公钥和私钥。
  • 第三步:服务器传输公钥给客户端
  • 第四步:客户端使用TLS来解析证书,检查公钥的有效性。如果有问题会显示一些网站证书存在问题。如果证书没问题,那么生产随机值,使用证书对该随机值加密。
  • 第五步:传输加密后的信息,让服务端得到加密后的随机值。
  • 第六步:服务端使用私钥对这个加密后的随机值进行解密。得到了这个随机值(就是对称秘钥)然后接下来就根据这个密钥,对所传的信息进行加密,因为服务端和客户端时对称的,所以只有彼此有这个密钥才可以互相交流看懂信息。
  1. 关于加密算法你知道哪些?

对称加密算法(AES,DES),非对称加密算法(RSA),摘要算法(MD5,SHA256,MAC)。
【其实关于加密目前已知的信息只有这些,后面如果面试有需要或者有信安相关的需求可以继续补充学习,目前来说还是java和安卓核心是我的弱项】

  1. 关于线程安全,写一个单例模式。

经典老题,菜鸟教程直接找就行【周五上午去看双检锁模式的实现,周五下午腾讯八面之前搞清楚锁的种类和机制还有锁的优化】←考研J人经典的计划环节

语言核心

  1. 讲一下hashmap相关的数据结构

其实内容都很水,基本是必考题了,相关知识点都在前面杂谈里了

  1. 讲一下你了解的锁机制

有啥说啥,确实还不是很会,等学会的时候做一篇笔记(就不写博客了,搬运重复的内容没有意义)没准可以用杂谈的形式分享知识。

  1. 说一下你都了解什么数据结构

关于数据结构的问题都太水了,可能是我打ACM相关原因【不要轻易立flag,手搓红黑树还是做不到的,争取周六能全学一遍,用自己的代码风格撸一个红黑树】
【关于Btree和B+tree的数据结构还是不够熟,Splay算法也好久没写了......】

算法

今天才知道,不能太透露算法题考核内容

  1. 一个很简单的dfs,在dfs的过程中记录深度,更新到vector对应深度里即可。和树的遍历相关。

这个算透题吗?答案很明显了,倒推一手题目应该不难吧hhh
【话说我是用前向星写的,可能还要看一下C++的struct】

由于t1写的很快,好像给姐姐绕蒙进去了,(或许姐姐没见过一边神神叨叨一边讲自己的思路然后一边敲代码的)
↑我在做project的时候也不是这样的,只有在刷算法题的时候。

玄学时间

我向大师请教,按照8维度荣格来说。我的Se和Ti是弱的,我的外倾感觉和内倾逻辑都比较弱。(这就是我永远都是ENFJ的原因)
所以我需要更多的靠说服别人来说服自己。
而我最强的两个维度是Si和Fe,分别是我的主导功能和辅助功能。(这更是我永远都是ENFJ的原因,因为ENFJ最突出的表现就是这两项)

关于更多的我也解读不了了,等我周末再和大师深入交流请教。

最后附上一个奇怪的16人格类型分别对应的荣格8维功能表
image

posted @ 2024-03-22 01:30  ZzTzZ  阅读(97)  评论(0编辑  收藏  举报