2019.8.26美团面试-java开发岗

一、美团

1.输入一个网址,在计算机网络5层模型中怎么传输

首先说一下计算机网络中的五层模型从上到下是,应用层,传输层,网络层,数据链接层,物理层

输入网址后是从应用层->传输层->网络层->数据链路层->物理层  然后到达服务器端的物理层->...应用层

例如

在浏览器中输入https://www.baidu.com后会发生什么?
    1.系统自动在本地寻找hosts文件,该文件在Sysem32/etc下,如果该文件中已经记录该域名对应的IP地址则直接访问IP,没有的话执行域名解析。
    2.域名解析,请求配置的DNS服务器,经过DNS服务器解析后获得一个目标IP地址。
    3.准备访问目标IP,通过80号端口和按照Http协议生产一个报文。
    4.访问IP,从上层的应用层已经生成的报文到传输层,网络层,物理层,层层装包生成最终报文,最后将数据发送出去。
    5.寻找路由,从默认网关到路由器,再到下一跳路由器.......
    6.在网络中多次转发,最后到达百度的服务器。
    7.找到百度的服务器后等待百度主机的防火墙等等验证。
    8.百度主机接受请求,并从物理网到应用层,层层拆包并检验数据,最后获得最终信息。
    9.应用层解析后开始生成对应的HTML文件,装包并将文件数据返回给客户机。
    10.主机经过网络的层层转发后收到了百度主机发来的HTML文件,拆包后交给浏览器,浏览器根据HTML文件进行渲染,最后生成页面。

2.插入排序

时间复杂度最坏o(n2) 最好 o(n)

3.举例:线程死锁。线程死锁的必要条件

最简单的线程死锁

线程死锁的必要条件:

   1.互斥条件:进程要求对所分配的资源进行排它性控制,即在一段时间内某资源仅为一进程所占用。
   2.请求和保持条件:当进程因请求资源而阻塞时,对已获得的资源保持不放。
   3.不剥夺条件:进程已获得的资源在未使用完之前,不能剥夺,只能在使用完时由自己释放。
   4.环路等待条件:在发生死锁时,必然存在一个进程--资源的环形链。

4.做项目时,有哪些情况会造成网站崩溃

访问用户过多导致服务器瘫痪;内存泄露(丢失对已分配内存的引用);线程死锁;等

5.0-1背包问题怎么实现

深度递归或者动态规划,回答动态规划是个坑,因为会继续问动态规划的问题

6.数据库索引

可以加快查询速度

7.怎么设计数据库表

根据需求与功能设计数据库表格,比如我的是高校二课系统,该部分就有好几个实体,学生,老师,活动每个实体又包括好多属性,学生包括学号,姓名,学院,以及班级,等等还有就是学院编号等等。

8.视图是干什么用的?

视图是一个或者几个基本表导出的图,是个虚表,用来显示实时数据的,修改视图对数据库表没有影响

9.随便挑个项目,说说基本功能,用到了什么东西

10.java创建对象在内存中哪个区创建?堆中

局部变量---栈

数组、对象、new新建的实例  ---堆

静态成员、构造函数、常量池、线程池---方法区

window系统占用--本地方法区

11.内存泄露会导致什么?举个内存泄露的例子

不再会被使用的对象的内存不能被回收,就是内存泄露

对于运行在一般用户这边的应用程序来说,由于运行的时间不长,结束后会被操作系统回收,一般不会造成很大影响;

而对于服务来说比如跑在服务器上的程序,会长时间运行,如果有内存泄漏的话,会在运行过程中不断积累泄露的内存,最后沾满服务器的所有内存,导致瘫痪。

12.DNS解析的具体流程。一个域名是如何解析成ip的。

13.inux 如何查看内存占用?

cat /proc/meminfo这个命令

14.进程怎么查看?

ps -aux命令

15.python爬虫是怎么爬的?

16.讲讲生产者消费者模型?

并发编程问题

17.给字符串,计算表达式的结果

第一步:把字符串表达式的中缀形式转为后缀形式,怎么转有一定的规则用到了栈。第二步:计算后缀表达式的值

https://www.cnblogs.com/neuzk/p/9655337.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值