记录字节跳动初次面试

字节跳动初面面试题

数据库的优化问题

1.为了加快数据库的搜索速度,有哪些方案?

对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。
mysql数据库加快搜索速度
记录一次MySQL两千万数据的大表优化解决过程,提供三种解决方案

2.对数据库索引的理解,怎么加索引

数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。
数据库索引的实现原理(面试问题:请说出数据库索引实现原理)

3.索引采用的什么数据结构?

B+树
MySQL索引背后的数据结构及算法原理

4.讲一讲红黑树是什么?红黑树解决了什么问题?和二叉搜索树有什么区别?

面试题——轻松搞定面试中的红黑树问题

5.redis采用的数据结构是什么?

(Remote Dictionary Server)redis的本质是跳表,支持的数据结构有:String、 List、 Set、 Sorted Set、 hashes
解决了Redis的这些问题,你就是Redis高手

6.什么是跳表

跳表是可以实现二分查找的有序链表。
Skip List–跳表(全网最详细的跳表文章没有之一)

7.给你一个一百万个数,求最大的一百个,用什么方法?时间复杂度?

最大堆,时间复杂度是nlogk(n = 100w, k = 100)

8.快排时间复杂度,堆排序时间复杂度,入堆,堆排序时间复杂度?
9.给你一个二叉搜索树,求所有节点做差的绝对值的最小值。(中序遍历,做差比较记录)
10.实现一下二叉树的中序遍历

二叉树基础

操作系统基础

1.多线程怎么保证对一个同变量的操作是正确的
2.锁机制,在第几行代码里面加锁?碰到多线程都使用递归的情况好使吗?了不了解递归锁?
3.在你定义的全局变量前面加个static有什么用?加了static的变量存在内存的什么区域?
4.内存的分布
5.进程和线程的区别
6.线程有自己的资源吗?就比如哪些是多个线程共享的资源,哪些资源线程不是共享的?

计算机网络

1.了解HTTPS吗?和HTTP有什么区别
2.对称加密和非对称加密的机制,有什么区别?为什么他们要组合使用,非对称加密加密的是什么?
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值