饿了么一面凉经-2024-03-29

C++选手硬着头皮投了Java岗,奇怪的是还过筛了,然后就被拷打了。

  • 自我介绍
  • 为什么考虑跨专业?
  • 面试官说他们是做 Java 的,但是看我并没有相关的经历,问我投递的时候方向是自己选的吗?(这个时候大概知道是寄了)
  • 项目介绍
  • select 语句的查询过程中是否有优化的规则?(扯了 MySQL 的基于规则的优化)
  • 火山模型,优点缺点等(这里踩坑了,还提了一嘴物化模型,然后扯了一下)
  • 2 核 4G 电脑,在火山模型大概能承载的数据计算量或内存的计算量大概是多少?(不会)
  • 字符类型和数字类型在内存中占用是多少(不知道为啥问这个?)
  • 为什么需要做缓冲池,如果不做缓冲池的话缺点是什么?
  • 是否有做过实际的测试,缓冲池的命中率有多少?(无,根本没这部分内容)
  • 磁盘的扫描算法(不会,说了顺序扫描、电梯算法)
  • 追问:电梯算法具体说一下(这里开始瞎扯,被面试官拷打)
  • 读写锁是怎么用的?它的实现原理是什么?(没了解过,不会)
  • B+ 树和 B 树区别
  • 什么数据库适合用 B+ 树作为索引、什么数据库采用 B 树作为索引
  • 问第二个项目的项目收获(这块的话,没答好,应该多说一些拓展的)
  • 进程间通信如何实现的(7 种都答了,感觉是可以介绍一下每种方式的一个优缺点)
  • 总线模型是否了解?(不会)
  • 进程和线程之间的区别(答的一般,有些忘记了)
  • 一个进程有 10 个线程,每个线程会每 1s 会随机睡眠 0.5s - 1s,这个时候在 CPU 当中的一个运行过程是什么样子的?(有点懵)
  • CPU 时间片运行的计算量和上下文切换的瓶颈大概是在哪里?(不会)
  • 然后举个例子:10 个线程执行 100 个任务,和 100 个线程执行 100 个任务,哪个效率高?或者说是什么情况下用 10 个线程效率高,什么情况用 100 个线程效率高?(IO 密集型和 CPU 密集型)
  • 栈、队列、二叉树的实现过程,它们的使用场景(简历上写的,突然这么一问,答的不太行)
  • 介绍一下红黑树,以及查找过程(上面说二叉树应用场景提了一下,又踩坑了)
  • 红黑树插入一个数据,旋转逻辑是什么?(直接说不会)
  • MySQL 如何对数据进行一个恢复的?
  • 脏读和幻读
  • MySQL 存储引擎有哪些? InnoDB 和 MyISAM 对事务的支持?
  • 数据的范式(答了三大范式)
  • 大部分场景不遵循范式,如何考虑的?(不太会了)
  • 范式可能更多的是对主键、唯一索引以及外键进行一个约束,什么情况下需要这些约束,什么情况下不需要?(跪了,不会)
  • 问了个人情况的一些情况,无手撕算法,估计是觉得我技术能力不够

复盘了一下,这个面试官经验很丰富,数据库一些实际场景基本上没接触过,然后还问了很偏门的磁盘调度算法、总线、读写锁的原理,就是在回答的过程当中提到的一些技术内容,尽量不要给自己挖坑,面试官会一直细问。现在看了挂了也很正常,面试官问了一些实际的性能测试相关内容,以及一些技术的业界实现,答的都不太好。

跌跌撞撞的找工作经历 文章被收录于专栏

主要记录一些个人的实习、秋招的面经等

全部评论
我投了腾讯后台要用java ,我只会python 和c,我都怕面试的时候我10问9不会,该多尴尬啊
2 回复 分享
发布于 2024-03-30 14:29 辽宁
请问佬是做了15445吗,方便问一些问题交流一下吗
点赞 回复 分享
发布于 2024-05-01 18:56 广东
请问是什么部门哦
点赞 回复 分享
发布于 2024-03-30 19:04 韩国

相关推荐

从输入URL到页面加载发生了什么:总体来说分为以下几个过程: 1.DNS解析 2.TCP连接 3.发送HTTP请求 4.服务器处理请求并返回HTTP报文 5.浏览器解析渲染页面 6.连接结束。简述了一下各个过程的输入输出作用:以下是对从输入 URL 到页面加载各过程的输入、输出或作用的一句话描述:DNS 解析: 输入:用户在浏览器地址栏输入的域名(如 www.example.com)。输出:对应的 IP 地址(如 192.168.1.1)。作用:将易于记忆的域名转换为计算机能够识别和用于网络通信的 IP 地址,以便浏览器与目标服务器建立连接。TCP 连接: 输入:浏览器获得的服务器...
明天不下雨了:参考一下我的说法: 关键要讲出输入网址后涉及的每一个网络协议的工作原理和作用: 涉及到的网络协议: HTTP/HTTPS协议->DNS协议->TCP协议->IP协议->ARP协议 面试参考回答: 第一次访问(本地没有缓存时): 一般我们在浏览器地址栏输入的是一个域名。 浏览器会先解析 URL、解析出域名、资源路径、端口等信息、然后构造 HTTP 请求报文。浏览器新开一个网络线程发起HTTP请求(应用层) 接着进行域名解析、将域名解析为 IP 地址 浏览器会先检查本地缓存(包括浏览器 DNS 缓存、操作系统缓存等)是否已解析过该域名 如果没有、则向本地 DNS 服务器请求解析; 本地服务器查不到会向更上层的 DNS 服务器(根域名服务器->顶级域名服务器->权威域名服务器询问)递归查询 最终返回该域名对应的 IP 地址。(应用层DNS协议)DNS 协议的作用: 将域名转换为 IP 地址。 由于 HTTP 是基于 TCP 传输的、所以在发送 HTTP 请求前、需要进行三次握手、在客户端发送第一次握手的时候、( 浏览器向服务器发送一个SYN(同步)报文、其中包含客户端的初始序列号。TCP头部设置SYN标志位、并指定客户端端口 同时填上目标端口和源端口的信息。源端口是浏览器随机生成的、目标端口要看是 HTTP 还是 HTTPS、如果是 HTTP 默认目标端口是 80、如果是 HTTPS 默认是 443。(传输层) 然后到网络层:涉及到(IP协议) 会将TCP报文封装成IP数据包、添加IP头部,包含源IP地址(浏览器)和目标IP地址(服务器)。IP 协议的作用: 提供无连接的、不可靠的数据包传输服务。 然后到数据链路层、会通过 ARP 协议、获取目标的路由器的 MAC 地址、然后会加上 MAC 头、填上目标 MAC 地址和源 MAC 地址。 然后到物理层之后、直接把数据包、转发给路由器、路由器再通过下一跳、最终找到目标服务器、然后目标服务器收到客户的 SYN 报文后,会响应第二次握手。 当双方都完成三次握手后、如果是 HTTP 协议、客户端就会将 HTTP 请求就会发送给目标服务器。如果是 HTTPS 协议、客户端还要和服务端进行 TLS 四次握手之后、客户端才会将 HTTP 报文发送给目标服务器。 目标服务器收到 HTTP 请求消息后、就返回 HTTP 响应消息、浏览器会对响应消息进行解析渲染、呈现给用户
点赞 评论 收藏
分享
03-10 20:35
已编辑
武汉大学 C++
点赞 评论 收藏
分享
03-21 08:46
已编辑
门头沟学院 C++
一个什么都不会的学生:当你有硕士学历的时候HR会说就是比本科生强
点赞 评论 收藏
分享
如题,这操作。。。。
真烦好烦真烦:既想享受国家的招聘应届生福利,又不想培养新人,我只能说这种企业的ld太过分了
投递美的集团等公司6个岗位 >
点赞 评论 收藏
分享
评论
9
51
分享

创作者周榜

更多
牛客网
牛客企业服务