菜鸟网络

一、线程和进程的概念和区别,在Windows和linux上的区别?

概念上:(进程)具有一定独立功能的程序关于某个数据集合上的一次运行活动,是应用程序的一个实例,进程是系统进行资源分配和调度的一个独立单位。进程之间无法进行资源共享。

(线程)是进程的一个实体,是CPU调度和分派的基本单位。基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(程序计数器和虚拟机栈),但是它与同属一个进程的其他的线程共享进程所拥有的全部资源。线程是一个更接近执行体的概念。

两者的区别:

  • 操作系统资源管理方式:进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其他进程产生影响。而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉。多进程的程序比多线程的程序健壮,但在进程切换时,耗费资源较大。
  • 一个程序至少有一个进程,一个进程至少有一个线程
  • 线程的划分都小于进程,使得多线程程序的并发性高。
  • 线程在执行过程中与进程还是有区别的,每个独立的线程有一个程序运行的入口,顺序执行序列和程序出口。但是线程不能够独立执行,必须依存应用程序中,由应用程序提供多个线程执行控制。
  • 逻辑角度上看,多线程的意义在于在一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程做多个独立的应用,来实现进程的调度和管理以及资源分配,这就是进程和线程的主要区别
  • 优缺点:线程执行开销小,但不利于资源的管理和保护,而进程相反。进程可以进行跨机器迁移。

windows和linux上的区别:

Linux只有进程的说法,没有线程的概念。windows的线程相当于linux的进程,windows里面同一个进程各个线程之间是共享数据的,而linux不是。传统从Unix也支持线程的概念,但是一个进程只有一个线程。

二、栈、堆和队列的区别是什么,用过哪些?

栈:栈是限定只能在表的一端进行插入和删除的线性表。(先进后出)

堆:(也叫作优先队列)是一颗完全二叉树,它的特点是父节点的值大于(小于)两个子节点的值(小于)两个子节点的值(分别称为大顶堆和小顶堆)

队列:限定只能在表的一端进行插入和在另一端进行删除操作的线性表。(先进先出)

使用场景:浏览器的后退功能就是典型的栈应用。魔兽世界游戏登陆的时候就是典型的队列使用场景。

三、二叉树的定义?在哪里用过?

二叉树是有限个元素的集合。二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”和“右子树”。

用过二叉搜索树,在knn,查找数据时。

四、OSI七层是哪七层?IP和TCP分别在哪一层?

物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

TCP和UDP在传输层、IP协议在网络层。

五、TCP与UDP的区别?

TCP即传输控制协议,UDP即用户数据报协议,区别主要有:

1、TCP是面向连接的,发送数据之前需要建立连接,UDP协议是无连接的,发送数据之前不需要建立连接。

2、TCP协议提供可靠的传输服务,UDP协议提供不可靠的传输服务。

3、TCP发送数据大小会受发送窗口、接受窗口及MSS(最大报文段)限制,因此会分为多段发送;UDP发送数据大小即为数据本身大小。

4、TCP有众多反馈机制和附加机制,而UDP没有。

5、TCP传输速度较慢,UDP传输速度较快。

总之:TCP是面向连接的、提供可靠传输的、传播速度较慢的协议,适合文件下载等传输任务。UDP是无连接的、不可靠的、但传输速度较快,适合面向流媒体等传输速度较快的任务。

六、TCP三次握手和四次握手。

三次握手:(三次握手是TCP建立连接的过程)客户机发起请求,然后服务机接受到请求后,服务机向客户机返回一个确认信号,确认是否是客户机发出的请求,最后客户机收到确认请求后发出回复,这样就建立了连接。

四次握手:(四次握手是TCP断开连接的过程)客户机发起中断请求报文FIN,服务机收到请求后回复给客户端一个ACK,此时客户端进入等待状态,当服务机确认ACK数据发送完,则向客户端发送FIN报文,客户端收到FIN报文后,给服务端发送ACK,然后进入等待状态,如果一段时间(2MSL)后没有收到回复,则证明服务机已经关闭,所以此时客户机也正常关闭。

七、菜鸟分仓比赛的情况?

最开始采用回归的方法,发现效果不好,就采用了指数平滑算法,进行预测,把地点分成了三中类型,一种是平滑型,一种是递增型,一种是递减型。

春招面试经验系列(一)菜鸟网络相关推荐

  1. 春招面试经验系列(九)蚂蚁金服

    分享一个我的公众号,最近突然想玩公众号,之前做过一段时间前端开发,考虑到现在应用程序越来越多,未来社会一定是一个充满"只有你想不到,没有你做不到"的App的世界!而微信小程序又给我 ...

  2. 春招面试经验系列(三)商汤科技

    商汤科技 java基本上问的都是多线程的问题 一.java中int存储字节数: 1.1字节(byte)= 8位(bit) 2.整型:short 2字节.int 4字节.long 8字节 3.浮点型:f ...

  3. 2019中原银行春招面试经验帖

    因为网上关于中原银行的面试经验太少了,所以我写一写,方便后来的人参加工作.下周签三方. 首先网申,校招几乎是不刷简历的,所以都能过.之后是笔试,都是选择题,笔试是行测(40)+java(40)+数据库 ...

  4. java春招面试冲刺系列:redis基础知识详细解析

    目录 学习计划 学习笔记 百问 redis在什么情况下会变慢? 单线程的redis,如何知道要运行定时任务? 学习计划 Redis的介绍.优缺点.使用场景 Linux中的安装 常用命令 Redis各个 ...

  5. 运营商2019春招面试经验(广东移动市场岗+湖南联通技术岗)

    移动当时投了两个地方的,有的可能需要笔试. 结果:都拿到了offer 联通:是双选会现场投的.上午就是填了份资料然后问了些大概情况,下午去教室面试,问了些校园里的情况和技术的一些问题,相对比较水,基本 ...

  6. java春招面试冲刺系列:mysql基础知识超详细复习

    目录 基础 番外篇 MySQL体系结构 MySQL基准测试 数据库结构优化 MySQL的复制功能 MySQL日志 索引 表中有多个索引,优化器怎么决定使用哪个索引 SQL查询优化 数据库监控 常用命令 ...

  7. 电信春招面试技能,无领导小组讨论

    2019电信春招面试技能,无领导小组讨论 今天小编就无领导小组讨论给大家讲一个面试技能~大家看完之后应该会有所收获哦~ 无领导小组讨论对于很多考生而言都是大难题,应该如何应对呢,无领导的技能到底在哪里 ...

  8. 2019校招春招面试问题汇总

    2019校招春招面试问题汇总 深信服:浪潮:视源实习 编程类 C+Python 1.链表和字典的区别: 2.Python中用过哪些库,并一句话总结: 3.Linux经常用的操作: 4.Python中 ...

  9. 腾讯社招面试复习系列之一,C++篇

    腾讯社招面试复习系列之一,C++语言篇 最近在准备复习面试腾讯游戏开发,接下来会出一系列复习文章,总结一些他人的面试题与经验,以及之前自己面试时经验,并给出一些自己的见解,供大家一起学习. C++语言 ...

最新文章

  1. 读后感和机翻《他们在看哪里,为什么看?在复杂的任务中共同推断人类的注意力和意图》
  2. HDU1827(强连通分量)
  3. 天龙固件U盘更新_硅格T18D量产工具下载_硅格T18D量产工具官方版下载[u盘格式化]...
  4. 【C 语言】字符串模型 ( strstr-while 模型 )
  5. CTF Geek Challenge——第十一届极客大挑战Crypto Write Up
  6. CentOS7 设置主机名及IP映射
  7. 【计算机网络复习】1.1.4 时延、时延带宽积、RRT和利用率
  8. 安卓教程:提取APK程序里图片资源的方法
  9. 1/4-36UNS-2A的螺纹
  10. 自动驾驶中车辆的如何使用点云定位?
  11. SURF算法之Opencv代码详解
  12. 特殊符号大全复制_特殊符号大全爱好者工具讲解
  13. 跟踪线程 深度 双目初始化位姿 运动模型 关键帧模式 重定位 局部地图跟踪 关键帧
  14. 极狐GitLab硬实力助力中国开源生态建设
  15. [电路]3-基尔霍夫定律
  16. POP3, SMTP, IMAP 和 Exchange 的区别
  17. ccs一次替换一个多出使用的变量
  18. Cisco NAC介绍
  19. GIC spec之ITS和LPI中断5
  20. 烹饪专业的计算机课程,烹饪专业培养目标、课程设置及教学计划

热门文章

  1. 锂电池充电过程及电路设计
  2. 代码规范 详细解释 husky、prettier、eslint、lint-staged 的作用和使用
  3. 站长导航系统源码-修复版
  4. QQ珊瑚虫版被判侵权 作者陈寿福赔偿腾讯十万元
  5. 【游戏设计模式】之三 状态模式 有限状态机 Unity版本实现
  6. 贾小伟—Web前端开发工程师(作品集)
  7. ORACLE(emp)表习题与答案
  8. unity动画状态机做到立即取消当前动画的播放,再次播放该动画
  9. 半导体放电管TSS的特性参数及选型
  10. ios开发特殊符号大全:字符+键盘符...