title: 2021年3月12日 北京格灵深瞳Java开发实习面试
tags: 面经


2021年3月12日 北京格灵深瞳Java开发实习面试(一面)

首先上来问你问什么不做算法,转做开发呢?(因为我的研究生方向是搞深度学习的)你有学过计算机专业课吗?比如数据结构,计算机网络,操作系统啥的吗?//你熟悉的排序算法有哪些?(快排,归并,堆排,冒泡,选择,插入,希尔,基数排序)这些算法中最快的排序算法是什么呢?(当时答的是快排)还有什么是O(nlogn)的排序算法呢?(快排、堆排、归并、希尔)这些排序算法在任何时间复杂度都是O(nlogn)吗?(不是)比如快排的最坏时间复杂度是多少呢?那什么情况下会出现最坏的时间复杂度呢?(当为逆序的时候,就退化成O(n^2)了)在逆序的时候,有什么办法优化它的时间复杂度也为O(nlogn)呢?(三数取中法、随机法)三数取中法:就是从区间的首、尾、中间,分别取出一个数,然后对比大小,取这三个数的中间值作为分区点;随机法:就是每次从要排序的区间,随机选择一个元素作为分区点。什么是排序算法的稳定性呢?(如果待排序的序列中存在值相等的元素,经过排序后,相等元素之间原有的先后顺序不变)那快速排序是一个稳定算法吗?那堆排序呢?插入排序呢?冒泡呢?(快排不是稳定的;堆排也是不稳定的,因为在建堆的过程中会打乱数据原有的相对先后顺序;插入是稳定的,冒泡也是稳定的)比如说有一个 1-n 有n个数,然后生成一个随机的序列,还是n个数组,但是它的位置是随机的,这种应该怎么实现呢?不用调用API,自己去写的话,应该如何去实现呢?有没有不基于元素比较的排序算法呢?(我回答是基数排序)//----------------------------------图你学过没有?深度优先搜索和广度优先搜索分别代表什么意思呢?深度优先搜索(DFS):在搜索过程中访问某个顶点后,需要递归地访问此顶点的所有未访问的相邻顶点。广度优先搜索(BFS):其实是一种“地毯式”层层推进的搜索策略,即先查找离起始顶点最近的,最后是次近的,依次往外搜索。//---------------------------------如果有一个图是不连通的,那如何去实现去遍历剩余的点呢?//----------------------------------深度优先遍历用到什么数据结构呢?(栈)深度优先搜索算法的消耗内存主要是visited、prev数组和递归调用栈。visited、pre数组的大小跟顶点的个数V成正比,递归调用栈的最大深度不会超过顶点的个数,所以总的空间复杂度是O(V)。时间复杂度为O(E),E表示边的个数。//----------------------------------广度优先遍历用到什么数据结构呢?(队列)visited是用来记录已经被访问的顶点,用来避免顶点被重复访问,如果顶点q被访问,那相应的visited[q]会被设置为true;queue是一个队列,用来存储已经被访问、但相连的顶点还没有被访问的顶点。也就是说,只有把第k层的顶点都访问完了之后,才能去访问第k+1层的顶点。当我们访问到第k层的顶点都访问完成之后,我们需要把第k层的顶点记录下来,稍后才能通过第k层的顶点来找第k+1层的顶点。prev用来记录搜索路径。当我们从顶点s开始,广度优先搜索到顶点t后,prev数组中存储的就是搜索的路径。广度优先时间复杂度为O(V+E),其中V为顶点的个数,E表示边的个数,同时对于一个连通图来说,所以的顶点都是连通的,E肯定是要大于等于V-1,所以,广度优先搜索的时间复杂度可以简写为O(E)。空间复杂度是O(V)。//-----------------------------------你能说一下双向链表是怎么去实现栈的呢?(这里主要是跟上一个问题问的)//---------------------------------------B树和B+树你有学过吗? ,B树是几叉树?(N叉树)//--------------------------------------B树和B+树有什么区别呢?这两者一般应用在什么场景之下呢?(B树相对于B+树的优点是,如果经常访问的数据离根节点很近,而B树的非叶子节点本身存有关键字其数据的地址,所以这种数据检索的时候会要比B+树快。)//-----------------------------------------为什么数据库喜欢用B+树呢?(B+树的层级更少,查询速度更稳定,并且它的叶子结点构成了一个有序的链表,查询大小区间的数据更为方便。并且B+树遍历整棵树只需要遍历叶子结点即可,而不需要想B树一样去对每一层进行遍历,这样有利于数据库的全盘扫描。)//------------------------------------------B+的所有的叶子层在同一层还在不同层呢?即深度是否一样呢?(是的,在同一层)//这一段被问的很惨------Tcp协议是怎么保证它的完整性的呢?Tcp在传输的时候能同时传输三段字节流吗?比如0-99,100-199,200-299这样的三段字节流吗?是不是传完0-99的字节流的时候,需不需要服务端给我返回一个ack才能继续传输剩下的字节流吗?我发的是0-99的数据包,那我收到的ack是多少呢?那我发送三段出去,那我最后收到的序号是多少呢?如果中间的100-199的数据丢失了,那我收到什么呢?这个重发的信息中会带来ack吗?//--------------------你在浏览器中输入url,然后按下回车键,这个网页就会显示出来,这个过程中网络层面有哪些操作呢?DNS在传输层对应的协议是什么呢?(UDP)Tcp拆除连结的四次挥手是一个怎么的过程呢?为什么需要四次挥手呢?接收方在接收第一个FIN的时候,进入了一个close_wait状态,这个时候服务端还能够接收数据吗?有一个路由器,连着A,B,C,D四个子网,然后这个时候它从子网A收到IP数据报,他要如何判断这个数据报应该转发到其他哪个子网中去呢?(通过网关)子网掩码这个概念你了解吗?//进程与线程有什么区别呢?进程都有哪几种状态呢?那这五个状态之间该怎么转换呢?一个运行状态的线程能变成就绪状态吗?那就绪态能直接转到运行态吗?cpu时间片这个概念有了解吗?sychronized关键字的用法?一般有几种用法呢?反问环节。

2021年3月12日 北京格灵深瞳Java开发实习面试(一面)相关推荐

  1. 【求职】格灵深瞳 Java 方向面经

    Java 方向面经 一面 2018/3/12 1.介绍一下自己的项目 2.打过 ACM 为什么选择做 Java 后台 3.说一下建堆的时间复杂度 4.了解背包吗,说一下动态规划的思想,用过几维的动态规 ...

  2. 格灵深瞳开盘破发,市值73亿,创始人曾是谷歌眼镜创始成员

    杨净 发自 凹非寺 量子位 | 公众号 QbitAI 科创板AI第一股来了! 3月17日,格灵深瞳正式在上海证券交易所科创板挂牌上市. 股票代码688207,发行价为39.49元/股,对应市值约为73 ...

  3. 格灵深瞳IPO获同意:毛利率远高于行业均值,营收增速开始下滑

    近日,上交所科创板披露的信息显示,北京格灵深瞳信息技术股份有限公司(下称"格灵深瞳")的首次公开发行股票注册获得获得了证监会的同意批复.这意味着,格灵深瞳拿到了IPO批文,有望在近 ...

  4. 格灵深瞳发起 AI · 爱 算法 在线编程挑战赛

    点击我爱计算机视觉标星,更快获取CVML新技术 DEEP SEA FISH 编 程 高 手 集 结 令 一 决 高 下 你热爱编程,喜欢AI么?如果你的答案是Yes,这里有一场绝不可错过的在线编程挑战 ...

  5. 2021年4月12日 阿里供应链Java研发实习面试(一面)(含总结)

    title: 2021年4月12日 阿里供应链Java研发实习面试(一面) tags: 面经 2021年4月12日 阿里供应链Java研发实习面试(一面) 自我介绍介绍项目你用哪个版本的Java呢?( ...

  6. 2021年3月16日 北京快手Java开发实习面试(海外增长方向)

    title: 2021年3月16日 北京快手Java开发实习面试(海外增长方向) tags: 面经 2021年3月16日 北京快手Java开发实习面试(海外增长方向) 自我介绍你能讲一下你的项目吗?你 ...

  7. 2021年3月9日 北京快手Java开发–用户增长方向 实习面经(一面)

    title: 2021年3月9日 北京快手Java开发–用户增长方向 实习面经(一面) tags: 面经 2021年3月9日 北京快手Java开发–用户增长方向 实习面经(一面) 自我介绍你能介绍一下 ...

  8. 2021年1月20日 北京经纬恒润科技有限公司一面

    2021年1月20日 北京经纬恒润科技有限公司一面 岗位:后端开发实习生 自我介绍(这个地方需要自己去提炼自己的自我介绍) 问了为什么不做算法方面的工作 主要用什么语言来做项目呢,然后开始问我相关研究 ...

  9. 任天堂推出《塞尔达传说》GAMEampWATCH游戏机,预计要在 2021 年 11 月 12 日推出塞尔达版本的 GAMEampWATCH

    模玩资讯:任天堂推出<塞尔达传说>GAME&ampWATCH游戏机 任天堂将自家起底基业商品GAME&ampWATCH结合招牌游戏有奇效!继去年此时推出<超级玛利欧兄 ...

最新文章

  1. maven mvn Failed during checkstyle execution
  2. nginx反向代理取得IP地址
  3. 【自动驾驶】26.【很清晰】旋转矩阵,欧拉角,四元数,旋转向量和齐次变换矩阵
  4. Java设计模式之享元flyweight模式代码示例
  5. 哈夫曼算法(最优二叉树)
  6. 计算机专业中专排名,江西计算机专业学校排名中专
  7. UWP DEP0700: 应用程序注册失败。[0x80073CF9] 另一个用户已安装此应用的未打包版本。当前用户无法将该版本替换为打包版本。...
  8. 浅谈软件开发的四大要素
  9. 美容院管理系统哪家好?医美管理软件哪家好?
  10. 【产品功能】弹性网卡支持私网多IP
  11. redhat指定ntp服务器,redhat 6.3 ntp 服务器
  12. 刚刚,10位青年学者获得阿里达摩院青橙奖,钟南山寄语,每人100万,最小获奖者28岁
  13. v-for 循环生成多个表单元素 给动态生成的表单元素绑定值并且添加校验规则
  14. Android获取桌面应用程序
  15. Windows 11的这19个新功能,你都知道吗?
  16. 电脑连接打印机并共享及其他打印机连接
  17. 我的MP3收藏精选,推荐一些最近我常听的歌
  18. 自动化交易系统(Auto Trading System)的一些资料
  19. Spring/SpringBoot系列之Spring中涉及的9种设计模式【七】
  20. 使用supervisor实现进程管理

热门文章

  1. 从 CPU、磁盘、内存、网络、GC 一条龙!JAVA 线上故障排查完整套路
  2. python小游戏系列记忆宫殿,儿时的回忆
  3. java中gso是什么意思_在java中用gson解析json
  4. mysql语句查询今天的数据_mysql查询当天所有数据sql语句
  5. 水利水电工程管理与实务电子版习题_水利水电工程管理与实务复习题集.pdf
  6. mysql xml生成工具_自动生成po、dao、xml 工具:mybatis-generator
  7. android notification 定时显示,Android编程使用Service实现Notification定时发送功能示例...
  8. HackerRank:JavaScript 是最知名的编程语言
  9. java b2b b2c o2o分布式电子商务云平台
  10. AngularDart Material Design 卡片