字节 广告后端架构实习 一面+二面 面经
实习经历(数据库公司,前端,api维护)
时序数据库和其他的区别
数据库
事务acid,rollback
索引原理(举了一个例子问具体是怎么查找的)
题目:一张包含姓名,课程,分数的表,要求查询每门课分数最高的学生。
计算机系统
内存模型(堆栈)
数据结构
quicksort
时间复杂度推导
题目:判断是否是完全二叉树
其他很多都不记得了。
真的不难,但我心态太差了,面试时大脑就一片空白。希望能过😭
----------------------------------------------- 二面 03/04/2021 --------------------------------------------------
来更新一下刚刚结束。
感觉这次二面的面试官比较侧重思维、设计理念上的考量,问题都比较发散性,不是唯一解的类型。
面向对象设计
1. 既然你学过面向对象设计,那能聊聊面向对象设计的特点和优势吗?
封装、继承等性质,可扩展,实现低耦合。
追问:这是面向对象的优势吗?抽象函数要是写得优秀的话是不是也能够达到扩展的目的呢?还有没有其他的优势呢?
我:emmmmm...大概是面向过程的话逻辑是按步骤一步一步来的,而面向对象是从执行者角度出发的blablabla
追问:java不也需要遵循业务步骤逻辑吗?
我:...
(这部分答得特别凉,求各位大佬讲解一下)
数据结构
1. hashmap实现
2. 如果是高并发使用hashmap的话,你会怎样改进呢?
加锁,引申到concurrenthashmap
3.储存图的数据结构
邻接矩阵,邻接表(其实有好多,但是太久没复习,忘记了)
网络
1.说说socket流程
2.server用hashmap进行储存,多个client并发访问,如何解决?
传输的话消息队列,server端进行查找的话可以分布式
题目1: 消费者生产者模式实现
题目2:长度为n的字符串,找出长度为k且字典序最小的子序列
用滑动窗口做的,O(kn),提示有更优解法,但是没有想出来