字节跳动的邮件会说考察通用型的业务问题和过往的项目经历
字节跳动一定会考算法题,建议有针对性的刷LeetCode探索里面的字节跳动算法题专场,里面的算法题真的很准,我面试时就碰到两题原题。
自我介绍,公司职能,项目简介
索引是否能够命中相关问题 最左匹配。
spring注解、ioc AOP相关的,基本都问到了
hashmap源码 链表+数组 and so on , 对扩容和内存机制也有说
说一下你知道的GC算法 标记-整理、标记-删除,标记-复制,分代回收,大致说了下内容,面试官没表示满意,也没说不满意,直接下一题了
描述一下你现在负责的项目,说一说大体架构 就把自己手头上负责的项目大致架构图画一画,这个估计是想了解对手头负责事情的了解程度和表达能力
说一说怎么解决脱库风险 这个没说好,只能说出一些访问限制,数据权限等角度,感觉解决不了脱库问题
笔试题:一个链表,每K位反转
写一个线程安全的单例模式
.进程调度都有哪些算法
你的user表的主键是什么,如果不用auto_increment,我该如何实现id
ARP是什么?ARP内部如何实现?
DNS是什么?内部如何实现
内存单元的作用是什么
栈,队列是什么?区别是什么?算法题1:用栈来实现队列。
操作系统,进程状态,进程调度,CPU调度基本单位,进程线程区别
CPU调度单位,中断实现机制,软硬中断的区别
计算机网络,IP协议在那层,ping命令底层用的什么协议,一个ip数据包经过一个路由器之后包里改变了什么,
traceroute命令底层是用的什么协议,是怎么实现的。
算法题:二叉树最小公共祖先
get,post的区别
http请求的组成
OSI 7层协议?有哪些是可靠的网络连接?TCP为什么是可靠连接?cookie vs. session
封装、继承、多态
二分查找
无重复元素的二分查找
含重复元素的二分查找
找第k大数
快排实现、堆实现
进阶:不用额外空间,尽可能快的找到第k大数
两个栈实现一个队列、怎么优化
滑动窗口、窗口大小
什么是线程安全
左连接、右连接
c++与java的区别
实现hashmap,怎么扩容,怎么处理数据冲突?怎么高效率的实现数据迁移?
单例模式,什么时候用到,还了解哪些设计模式,装饰者模式是什么,举例
介绍死锁和如何避免
从输入网址到获得页面的网络请求过程
HTTP header
Redis了解吗?
MySQL引擎有什么?有什么差异?
Linux进程状态,Linux进程什么时候会变为等待?
算法题1:LRU cache (LeetCode 146)
算法题2:一个有符号的有序数组,问这些数平方之后有多少个不重复的数?(双指针)
算法题:在一个长字符串中找一个子字符串是否存在,有,返回index,没有,返回-1。子字符串要求连续,但不在乎内部字符的顺序。(滑动窗口问题)
n个人,n个座位,每个人都有自己的座位,问每个人都不坐自己座位的坐法有多少种?(动态规划,解决重复子问题,两种情况讨论)
你有一个网站项目,服务器是怎么弄的?
session和cookie有什么差异,分别什么时候用,在什么时候生成,长时cookie和短时cookie分别用在什么时候
堆。什么是最小堆?什么是最大堆?在堆中怎么插入一个元素?
java修饰符、java线程同步的方法、synchronized对不同方法加锁的区别、java中的引用、kotlin和java的区别,算法题是平衡二叉树的判断。
数据库索引、事物等的概念、sql语句的结构、java中类似c++中的析构函数、java和c++的异同点、java和c++各自传参数的方式
懒加载的单例模式实现、Synchronized介绍、Handler原理、线程池介绍、Service介绍、已定义View、listview如何优化,算法是求给定数组中连续数字的最大和
String[]的父类是否是object?
java静态方法是否可以被重写
数据库如何短时间高效批量插入数据
arraylist和LinkedList的区别,各自的使用场景
手写快排和堆排
最短路径算法