2020校招DBA岗位-2019-9-16下午四点电话面试

1.自我介绍

2.为什么要应聘DBA这个职位

我说通过在实际的项目中发现自己对数据比较敏感,能够独立发现并解决数据库中存在的一些问题,所以就打算应聘这个岗位。

3.都会使用哪些数据库,最擅长哪种

我近一年多以来使用最多的是postgresOracle使用过半年,my sql, SQL server 使能够自行搭建,一般使用不存在问题。

4.你使用的数据库的数据量有多大?

数据库主表记录有400+,实体文件达700TB, 还在持续增加

5.未来更喜欢数据库开发还是数据库管理员?

我说,我想先通过数据库开发学习来充实自己的数据库方面的未知的知识(就是可以先从事数据库开发岗),在掌握后再从事数据库管理员这个岗位。

6.你在项目中具体做数据库的哪方面的事情。(自己发挥)

我平时负责线下数据的相关数据库表的模型设计,数据维护,数据库中数据的是否正常等等。

7.数据库三范式的定义,在数据库表设计的时候是否必须遵循?

1

第一范式:确保每列保持原子性,数据库表中每个字段都是不可分解的原子值;

第二范式:在第一范式的基础上更进一层,确保表中每列都与主键相关,不能只与主键的每一部分相关;(就是说一张表只能保存一种数据,不能把多种数据保存在同一张表中)

第三范式: 确保每列都与主键直接相关,而不是间接相关。

2)我的答案是数据库设计时要以业务需求为主导,具体根据实际情况有时候可以不遵守三大范式。

8.数据库的锁(粒度)

通常有排它锁和共享锁。

数据库中的锁目的是为了解决数据库表的高并发问题

Pg数据库的锁的粒度是行级别;

自己总结Mysql有三种锁:行级别,页级别,表级别

Oracle数据库的锁:表级索、行级锁,事务锁

9. Linux常见命令(例如:查看磁盘容量、查看内存、查看cpu):

查看磁盘使用情况:df

查看内存: free

查看CPU: cat

10.简要你了解的Oracle数据库的结构,pgadmin结构(我自己擅长)-以下答案为自己找的

Oracle数据库体系架构主要有俩部分组成:数据库实例和数据库文件;(构成数据库管理系统)数据块是Oracle最小的存储单位

1)数据库实例是数据库服务器的内存及相关处理程序,是Oracle的心脏。

2)主要包括三种文件:数据文件、控制文件、重做日志文件。


Pg体系架构:

采用客户机/服务器(C/S)模式提供服务,一个postgresql会话由下列相关进程(程序)组成:

一个服务器端进程;客户端应用程序

11. pg数据库的优点有哪些?

1)开源,Oracle是商业级数据库,不开放,而Mysql中最重要的InnoDB引擎也被Oracle收购,所以Mysql未来可能会商业化;

2)与postgres配合的开源软件比较多,有很多分布式集群软件,很容易做读写分离、负载均衡、数据水平拆分等,Mysql不具备;

3)postgres源代码清晰易读,比Mysql强;

4)postgresql在复杂sql、存储过程、触发器、索引等比mysql强多了,同时postgres是多进程的,而mysql是多线程的,在高并发时mysql充分利用cpu

12.索引的类型有哪些(pg数据库索引的类型)

Pg中:B-tree(适合大多数,处理按顺序存储的数据) , Hash (只能处理等于比较),GiST(是一种架构,依赖于多种索引策略), GIN(反转索引,可以处理数组,与GiST类似,支持用户定义索引策略),BRIN(索引特别小)

Oracle: b-tree、位图索引(bitmap index)、基于函数的索引、分区索引和全局索引、反向索引(REVERSE)、Hash

13.比如数据库中有100万条数据,需要删掉其中60万条,怎么快速删除(已经建好索引这些)。

我的答案是,在不影响正常使用的时间段(休闲段),采用多个节点进行分布式并行删除。

14.项目中的一些事

15.问我看有什么需要问的,我问了俩个(一共电话面试时长34分钟)

#校招##面经##秋招#
全部评论

相关推荐

当然,假期有点放松出去玩了,可能有些面试点我也有点遗忘,但是面试过程总体感觉极其尴尬。我声音都开老大了,但是感觉面试官吐字还是有点不清楚,而且有些时候,描述有点让我着迷给我一种错觉,他就是crud toB项目的受害者(bushi)感觉很怪,但是不知道问题出在哪里反正两个人感觉有点大眼瞪小眼,虽然看上去问题什么的都回答上了,但是没有扩展延伸,没有欲望去扩展双方反馈怪怪的1. 自我介绍起手2. 为什么你自我介绍这个比赛项目和导师项目没有体现在简历里?(不是!哥们~~,简历,不是繁历啊阿巴阿巴3. 你这个是哪个公司的项目吗?(那我问你,我为什么不写成实习经历(bushi4. 我看你这个Redis、MQ、Es都是高可用、高并发,我能不能直接升级硬件呢?为什么不直接加设备呢?(那我问你!我不玩 AI 是因为我不想买 4090吗5. 为什么你们这个项目不用多实例部署呢?6. 你觉得什么用户体量下才会使用你这些Redis、MQ、ES(不用用户体量,面试项目就行!bushi,QPS 5000-7000以下基本也不会卡顿,过万的话可以考虑加Redis(悲伤7. 你这个比赛项目的话,相较于Boss直聘有什么特色吗(项目是求职推荐系统)8. BS还是CS?9. 导师项目的话,为什么让你们用Java重构呢?(原项目为C,然后导师并没有给出源码,只给需求,这里需要重度吐槽学校!项目就问到这里吧,问问技术点什么,然后你这个是校招,会比社招要求低很多(啊?好👌10. Java中接口和抽象类区别11. Java中Integer是个什么东西?装箱和拆箱是什么?12. Integer作为函数传递,函数中+1,函数外是否会+113. =和equals区别(应该是==吧,嗯嗯,对14. 一般equals和hashCode怎么重写15. Java中有一个单例类,你能介绍一下吗?(什么!?这是什么神奇的类? 只得说,我确实不太了解。面试官:就是单例模式的那个类,日内瓦。。。。16. final和finalize17. try?只有try catch用法吗?18. 一般数据库主键使用什么数据类型(当时😵,不过用优化和隐患角度说了int和varchar19. 数据库优化一般有什么方法20. 分库分表?21. 按照年份分的话,2025年的表压力还是太大怎么办啊,比较几乎现在crud都是走这个表22. 反问- 问部门业务(回:纯业务,业务复杂,没有什么架构和中间件,toB,也就是SpringBoot+MySQL,那我跑!)- 地点
查看21道真题和解析
点赞 评论 收藏
分享
评论
3
14
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务