美团优选事业部前端实习二面面经



C语言和python、js的不同

前者编译型语言,后者解释型语言,前者强类型语语言,后者弱类型语言,前者面向过程,后者面向对象,前者有指针,后者没有但是复杂数据类型是隐形传递了指针的



编译型语言、解释型语言的异同

前者一次性将高级语言全部翻译成机器语言,后者翻译一句执行一句

都是高级语言,需要通过高级语言——汇编语言——



计算机网络:IP、TCP、UDP区别

IP网络层,TCP、UDP传输层,TCP保证交付,建立连接,UDP不保证可靠交付,无连接



使用TCP、UDP的协议有哪些应用场景

以面试系统为例,页面TCP,视频UDP,常见基于TCP协议的:HTTP、FTP、SMTP、POP3,常见基于UDP:DNS、HTTP3



网络为什么要分层:

分层制定标准,方便工程师开发



数据结构:

栈、队列是什么



 给一个字符串,字符串中含有[]{}()类型括号,写一个算法,判断字符串中的括号是否合法。(手写)

采用栈,为了方便用了大量switch,case,说优化思路,3种可以合并



分层遍历一个普通二叉树(广度优先)(手写)

使用队列

怎么优化,时间、空间复杂度

懵了,广度优先只会队列,时间、空间复杂度都是O(N)



完全二叉树、满二叉树

一开始说反了,满才是完全填满了



二叉搜索树是什么,时间空间复杂度

提到了中序遍历是从小到大顺序的,空间复杂度为O(N),讲了平均时间复杂度为O(log(N)),最坏情况,简单提了为O(N),红黑树等平衡二叉树



JS数组是怎么一回事

可以实现队列,栈的功能,用哈希表+链表优化的,简单数组可以和C语言数组一样是连续的内存空间



CSS预编译语言

讲了less用@,scss用$,可以计算,可以嵌套



操作系统了解吗

了解不太多,只知道一些基本概念

进程和线程区别

进程是系统进行资源分配基本单位,线程 是操作在进程之中有多个,是运作的基本单位

进程之间的通信方式

匿名管道、有名管道、套接字、共享内存,提到计网种应用层本质上就是进程之间的通信,端口就是一个进程



网络安全

XSS攻击及解决方式

跨站脚本攻击,注入脚本,采用转义字符(富文本编辑器不行),白名单(CSP忘了,就踢了概念)

SYN flood攻击

利用TCP3次握手,发送大量请求攻击服务器。将IP加入黑名单,超时断开



路由器、交换机区别

分别工作在网络层和数据链路层,路由器有DHCP分配IP,进行NAT转换



反问

#实习##面经##美团##前端工程师#
全部评论
我去,全是计算机基础啊,这前端面试头一次见😅
2
送花
回复
分享
发布于 2021-03-28 08:50
使用队列实现分层遍历,空间复杂度貌似不是O(N)吧,毕竟感觉队列最多只保存两层的数据
点赞
送花
回复
分享
发布于 2021-03-27 23:27
秋招专场
校招火热招聘中
官网直投
想请问一下lz,之前一面结束之后过了多久被通知二面了呀
点赞
送花
回复
分享
发布于 2021-04-09 20:44

相关推荐

3 27 评论
分享
牛客网
牛客企业服务