美团点评一面凉经和答案:

1.计算机网络分为几层?

    OSI参考模型:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层。
    Tcp/ip模型:应用层,传输层,网际层,网络接口层。

2.说说你知道的网络协议:

    应用层协议:http协议,smtp邮箱协议,DNS协议,RIP协议。
    传输层协议:TCP,UDP协议。
    网际层协议:IP协议。
    网络接口层:DHCP协议。

3.http协议实现了什么:

    1、客户与服务器建立连接tcp
    2、客户向服务器提出请求;
    3、服务器接受请求,并根据请求返回相应的文件作为应答;
    4、客户与服务器关闭连接。

4.http的cookie和session是什么?

    Cookie通过在客户端记录信息确定用户身份,Session通过在服务器记录确定用户身份。
    Web程序是使用HTTP协议传输数据的,HTTP协议是无状态的协议,一旦数据交换完毕,客户端与服务端的链接就会关闭,再次交换数据需要建立新的链接。这就意味着服务器无法从链接上面跟踪会话。永久登陆,把登录信息如账号、密码等保存在Cookie中,并控制Cookie的有效期,下次访问时再验证Cookie中的登录信息即可。
    Session是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,Session保存在服务器上。客户端浏览器访问服务器的时候,服务端把客户端信息以某种形式记录在服务器上,这就是Session。客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了。

5.快速排序的时间复杂度是多少,空间复杂度是多少?

    时间复杂度是多少平均O(nlogn),最坏时间复杂度O(n2),空间复杂度最坏深度On,时间复杂度O(logn),主要是和他的递归深度有关。

6.mysql会不会?索引是什么?

    会点,索引是快速搜索的关键。MySQL索引的建立对于MySQL的高效运行是很重要的。如果布简历索引,数据库会把每一个数据读入并且进行比较看它是不是符合要求。

    索引按照数据结构可以分为hash索引,fulltext索引,BTree索引,Rtree索引。

Hash索引相当于是一个哈希表去查找一个变量是什么,fulltext索引利用了倒排索引,统计每一个文字在哪一个位置,Btree就是B树,Rtree相当于是多维的B树查询。

7.mysql如何进行检索调优?

    1. 优化数据访问

    用LIMIT来限制查询的条数,避免使用select *

    查看返回条数,查询条数,比较次数过多可以使用索引

    2. 重构查询

    比如返回连接两个查询的表的话,可以先查询得到两个子表,再连接

8.简述TCP三次握手和四次挥手?

    三次握手:客户端发起连接,服务器接收后,发送连接就绪报文给客户端,客户端收到后明确链路无任何问题,发送报文给服务器,服务器收到后成功建立连接。

    四次挥手:客户端发起,我事情完了,请求释放,服务器收到,但是还未准备好,因为是客户端突然发起的,但是服务器任然会发送报文告诉客户端中止连接报文已经收到。然后服务器处理未处理完的事务,告诉应用层该链接请求中止。事务执行完毕后发送中止报文给客户端,然后客户端收到并返回终止报文(此时客户端要等待2MSL),服务器收到,连接终止。如果没收到,服务器还会再发送一次终止报文,然后客户端收到并返回终止报文(此时客户端要等待2MSL)。

9.什么是容器?

    容器就是储存对象的对象,如python的列表,元组,优先队列,栈,队列等等。

10.git是不是一个分布式控制系统?明明要和服务器上的东西比较,为什么不是集中式的?

    Git是一个分布式版本控制系统,虽然看起来是集中式的,他有开发这个软件的每一个步骤,中心的master只是一个伪集中式的版本,即使它挂掉了,我本地的软件依然是能够使用的。

11.找两个数组的中位数。

class Solution:
    def findMedianinTwoSortedAray(self , arr1 , arr2 ):
        # write code here
        if arr1 == None or arr2 == None or len(arr1) != len(arr2):
            raise Exception("Your arr is invalid!")
        start1 = 0
        end1 = len(arr1) - 1
        start2 = 0
        end2 = len(arr2) - 1
        while start1 < end1:
            mid1 = (start1 + end1) // 2
            mid2 = (start2 + end2) // 2
            offset = 0 if(end1-start1)%2 == 0 else 1
            if arr1[mid1] == arr2[mid2]:
                return arr1[mid1]
            elif arr1[mid1] > arr2[mid2]:
                end1 = mid1
                start2 = mid2 + offset
            else:
                start1 = mid1 + offset
                end2 = mid2
        return min(arr1[start1], arr2[start2])

12.进程和线程的区别?

    1、进程是资源分配的最小单位,线程是程序执行的最小单位(资源调度的最小单位)。

    2、程序运行先创建进程,系统就会为它分配地址空间,建立数据表来维护代码段、堆栈段和数据段。线程是共享进程中的数据的,使用相同的地址空间,因此CPU切换一个线程的花费远比进程要小很多,同时创建一个线程的开销也比进程要小很多

    3、线程之间的通信更方便,同一进程下的线程共享全局变量、静态变量等数据,而进程之间的通信需要以管道pipe或者消息队列进行。

    4、但是多进程程序更健壮,多线程程序只要有一个线程死掉,整个进程也死掉了,而一个进程死掉并不会对另外一个进程造成影响,因为进程有自己独立的地址空间。

#美团##校招##Java工程师##面经#
全部评论
这全答上来了,为什么说是凉经啊。。
9 回复 分享
发布于 2020-08-29 21:20
什么是容器,我感觉他问得是docker
3 回复 分享
发布于 2020-08-29 21:31
这面试题背背都差不多了
1 回复 分享
发布于 2020-08-30 08:30
?为啥全是网络和数据库
点赞 回复 分享
发布于 2020-08-30 21:17
感觉不会凉呀,基本都答上来了
点赞 回复 分享
发布于 2020-08-30 13:20
打得挺好啊,怎么就凉了?
点赞 回复 分享
发布于 2020-08-30 12:20
这是前端?
点赞 回复 分享
发布于 2020-08-30 08:20
你什么时候参加的笔试?
点赞 回复 分享
发布于 2020-08-29 22:15

相关推荐

04-08 19:51
已编辑
西安电子科技大学 Java
#面经##面试##简历#26届至今0offer,一个月被拒10次后,我做了个让面试官闭嘴的开源项目❌&nbsp;我的血泪教训:为什么你的项目总被diss?玩具项目魔咒&nbsp;;项目没上线?QPS多少?;&nbsp;→&nbsp;支支吾吾说不出来技术栈单薄&nbsp;只会CRUD&nbsp;→&nbsp;面试官:和培训班项目有什么区别?展示力为负&nbsp;;我电脑在实验室…....→&nbsp;无法实时演示&nbsp;→&nbsp;可信度归零🚀&nbsp;破局方案:XX校园点评(springboot+uniapp全栈实战)✨&nbsp;让玩具项目变身真实存在服务于校园内师生的项目(上面是Deepseek写的,狗头保命)白马点评简历包装烂大街:看的同一套视频,做的同一套项目,写的还是同一份简历?但是回到正题,点评作为java选手的必做项目,确实有很多值得学习和借鉴的地方。问题在于大家学习和借鉴的内容重复度太高,导致面试官审美疲劳,而且市面上似乎很少有一套针对于点评类项目的面试话术,那么我们来做!我们基于cursor实现了完整的前端页面,并在开发前端过程中充分挖掘白马点评项目亮点,深入剖析项目中的细节项目部分亮点介绍:1)首页根据点赞数量采用瀑布流双列展示笔记内容,后端采用order&nbsp;by根据点赞数量进行排序(此处可以考虑对order&nbsp;by语句进行sql优化)2)白马点评中实现的滚动分页查询算是项目中实现起来的一个难点,但是如果你没有一个好的前端页面展示,可能无法理解为什么需要滚动分页,传统的分页方式为什么不可以,通过前端页面的下拉刷新,同时数据库插入数据,会看到同样的内容前端展示了两遍,立马就能理解为什么要滚动分页。面试的时候可以和面试官吹自己在前端尝试……&nbsp;&nbsp;结果发现同样的数据展示了两遍……&nbsp;&nbsp;于是考虑滚动分页查询,有理有据,有因有果,加上自己的理解与思考,而不是单纯的照搬学习,面试好感upup!!3)实现了多级评论功能,只需要在数据表中给一条评论添加一个parent_id,首级评论的parent_id默认为0(圈起来,面试被问到过4)实现了编辑个人资料功能,这里mark重点,涉及到ThreadLocal,因为白马点评的查询个人信息接口是直接返回登录时存储在ThreadLocal中的信息,这就意味这一次登录这里面的信息是不会变的,需要下一次登录才能看到,所以这里修改之后个人基础信息不会立刻改变,需要修改实现逻辑,每次都需要查询数据库获得个人信息5)实现查询评论功能(这里我们认为只有首级评论算做评论,其余算作回复),这里是想做成一个mark功能,类似于newcoder评论区的mark&nbsp;某某面经,可以mark别人发的校园里的吃喝玩乐(充分结合需求,还有市场分析~由于篇幅内容有限,详细内容请大家移步至Gitee开源项目:https://gitee.com/yuwozai618网站里面有详细的说明文档以及前后端项目代码,跟着教程一步一步先跑起来~~总之,我们为大家实现了完整的前端页面,让大家不再局限于某马点评的前端,可以在此基础上实现更多功能,并对后端内容的细节进行了扩展,还有详细的开发和实现文档,以及在开发过程如何使用cursor等开发工具的说明,即使你没有使用过,学习完这份文档也可以和面试官侃侃而谈,且项目及文档持续更新迭代,项目全部开源免费!!开源免费!!开源免费!!(守护互联网开源精神)
点赞 评论 收藏
分享
#牛客AI配图神器#截止目前,已经收到5份大厂offer了,在这里总结一下吧,还记得的就写点面经战绩“5/7”字节oc3.14一面1.项目中的亮点,难点:nextjs水合问题,portal挂载组件到body2.项目中的搜索框实现:后端实现+useTransitionhook让出主进程给搜索框,提高fid3.一道Promise的题:答错,trycatch里面处理错误的部分是同步的,捕捉不到Promise里面异步的错误4.扫码登录的实现流程5.useSingleClickOrDoubleClick&nbsp;hook实现:用闭包3.20二面:(秒过)1.项目中react-query的使用:设置key和状态,动态地缓存2.除了react-query还有什么离开浏览器后任存在的缓存方法:localstorage,cookie3.使用过localstorage吗:用过,还封装了useLocalstorageState&nbsp;hook可以用react的状态来管理响应式管理localstorage,用于动态换肤4.http的缓存机制,304的原因:浏览器缓存(强缓存和协商缓存)5.画一个向下的45度的扇形:同border的特性+border-radius=50%画出来了,追问:如果是其他度数呢:用三角函数算一下boder-top和border-left,border-right的大小再追问:其他方法呢:用canvas或去找一个svg库(表明是我会选择的方法)6.写一个class用于模拟浏览器路由跳转:写出来了但是class语法用错了3.21三面leader面:(当场过)1.拷打项目2.未来规划3.缓存机制4.一道算法题:最大不重复字串5.树的算法题其他记不太清了。。。3.25hr面常见问题,老实人都没问题腾讯oc(8轮鏖战)3.12ai面3.18广告一面:做两道算法题:1.hash表2.拓扑排序&nbsp;&nbsp;做完秒过3.21广告2面:还是做两道算法题:1.leetcode射气球那题2.忘了,做出来了但是时间复杂度不达标&nbsp;&nbsp;&nbsp;做完秒挂秒投到下一个组3.24忘记哪个部门了一面:拷打项目为主,少量八股,共享屏幕跑项目感觉发挥很不错,实际kpi,秒挂秒投下一组3.28ieg一面:忘记问了什么,大多是项目,少数八股,写了三道题,都秒了,一道简单算法,一道js,一道html加css实现一个布局4.1ieg二面leader面:项目中tti怎么优化的性能优化的逻辑ssr相关paypal支付集成,为什么不用wechet支付一些业务场景在我的项目中的体现(忘记具体的了)前端学习方面未来打算方面一些八股,计网为主4.3ieg三面(20min):问了一些难八股,有些没了解过,还以为🐔了tswebpackvite微前端ssr4.8ieg&nbsp;hr面:缺点影响最大的人偶像读不读研三个词形容自己等等美团oc美团的面试体验极好,就是实习工资有点低,不过听说转正率很高,非常推荐大家都去投一投3.24一面:一些八股一些项目一些业务逻辑,难度中等,做三道题,一道是正则印象深刻(因为不会正则)其他忘了,但是都挺常规,面试官很和善,问到一些八股后还会开玩笑说这些问题也就面试用得到3.28二面leader面:完全忘记问什么了好像也是偏宏观一点,八股项目居多,做了两题,面试体验也不错,还详细介绍了部们负责的任务,并且说实习生可以挑选自己感兴趣的去做3.31&nbsp;hr面:只记得让我说点评的建议,我想说我又不是面产品港怎么知道怎么给大众点评提建议美团真的不错,让我拒起来都有点不忍心京东oc3.19一面:记不得问了什么,只记得每一个问题打完面试官都毫无波澜,并且没有什么反馈,只会说了解,还以为寄了3.26二面leader面:也是八股加项目,也不记得了,只记得面我的时候我正在回答,它一直动不动用手扶着额头,很痛苦的样子,当时我还在想我答得有这么差吗,听得你都痛苦起来了,后来想想应该跟面试没关系,后来也跟我介绍了部门情况,挺和善的,当时可能就是手头有任务太难搞了吧3.30&nbsp;hr面:很常规,没问啥携程oc:3.13笔试&nbsp;3/43.21一面&nbsp;a轮:有问了解过什么前沿的东西,跟着我的简历问下来的,没有太多八股,而且真的会点进我的github看,问我看rust是为什么3.28二面&nbsp;b轮:没印象了3.8&nbsp;hr面:说面试都过了,会发offer,介绍了一下部门和转正情况和应届工资tme腾讯音乐一面挂:3.17一面:大概率kpi了,电话面,面试官表达能力有问题,每次都搞不懂他想问我什么,说话还磕磕巴巴的,像是他才是来面试的一样,最后问建议还说我没有实际业务开发经验,我就是来找实习不就是为了大厂业务开发经验的吗,面完秒挂,但是整体来说体验不差,就是气不过他挂我的理由最离谱的来了!!!我本次暑期唯一黑:虾皮,二面挂3.17笔试:很简单,40分钟oc程度3.21一面:一些简单八股加项目,反问时多问了一下,有没有transfer到海外的机会?说没有,是否有gamefi的业务(因为他提到游戏代币):他完全不知道gamefi是什么,答非所问,然后我问题还没问完,非常突兀的说了句面试时间差不多了,面试到此结束,然后我都还没来得及反应就给我挂了面试间(by&nbsp;the&nbsp;way他还迟到了78分钟)3.24二面:演都不演了!!!直接上kpi!问了一堆莫名其妙的问题,有些可能根本就没法回答,我的项目是full&nbsp;stack的,他就问我怎么部署后端服务器,我说我是serverless的,他还问我所以你的后端服务期怎么部署???我跟他好好解释了一下vercel+neon的serverless框架,他好像完全不了解,非常之离谱,它是真不知道什么是serverless吗。后来最离谱,让我做道题,用时间和空间都是O(n)(题目条件),很简单,秒了,然后他说空间优化到O(1)我想了下不会,他说你在想想,再想个5分钟,而且它不给提示,就让我再接着想,我都说了我不会,它就不管,结果您猜怎么招,他自己在那里写代码,其实它全程都在写,所以老子的回答你才能是一个都听不明白然后问出一堆愚蠢的问题要不是那会我还没offer,我真想骂你几句然后给你直接挂了结果就是面试出来秒挂后来现在还有pdd和饿了么,pdd来到了二面,饿了么刚约面,已经不考虑了,再随便面一面查漏补缺一下就好#我的OC时间线#
查看23道真题和解析 我的OC时间线
点赞 评论 收藏
分享
评论
15
150
分享

创作者周榜

更多
牛客网
牛客企业服务