阿里/腾讯/七牛云/字节跳动面经
最近又到了广大公司招聘的时候,我身边的不少同学都参加了大量面试,并且分享了面试题型,下面是我对他人分享做了下综合:
腾讯:
- 堆栈的区别
- 快排和归并排序的比较
- 用两个栈实现一个堆的进出功能
- 队列和栈的区别
- 进程和线程的区别
- 死锁的原因和必要条件
- 分析红黑树复杂度
- TCP和UDP的区别
- 事务级别
- mysql引擎
- 为什么要使用索引
- 进程间的通信方式;进程划分
- stringbuffer和stringbuilder的区别
- Linux指令
- TCP三次握手
蚂蚁金服:
- 对前后端分离的理解
- javafx event dispatcher
- java怎样创建多线程
- volatile关键字
- angular路由思想,angular双向绑定的好处与坏处
- 找到链表倒数第k个元素,如何合并多个有序数组为一个有序数组
- ajax的具体步骤
- 队列和栈的区别
- java编译的指令
- 如何打jar包
- css的具体内容举例
- 设计模式举例
- select语句 分组查找
- tensorflow的搭建
- 网络协议TCP UDP HTTP
- 代码块加载顺序
- 虚拟机load流程
- java框架:spring的底层实现,分布式系统原理
- 线程状态,线程通信方式
- TCP三次握手
- 描述TCP的滑窗协议
- 浏览器输入网址后发生了什么
- 内存泄漏的处理
- js事件循环/ js apply call/js闭包/ js怎样异步编程
- 几种级别的cookie
- es6 promise
- DOM加载渲染
- JAVA的lambda表达式为什么要用final,
- select系统如何实现阻塞,
- IP为什么不可靠,TCP为什么可靠,
- 文件系统是什么,什么作用,
- linux的rm的底层实现,
- JAVA的类型擦除,
- 哪种语言没有垃圾回收,各种垃圾回收,c垃圾回收。。
- CVM?
- 凯撒密码破解,
- c的string和redis的string区别
- hadoop,spark
- java抽象和接口的区别
- 包含一堆0,1的list怎么去0
- 线程和进程的区别,怎么实现线程
- 数据库分库分表怎么实现
- 乐观锁和悲观锁的区别
字节跳动
- concurrent hashmap和hashmap区别,concurrent hashmap键值可以为null吗
2.synchronized 对静态方法和对实例方法加锁区别;
3.可重入锁 偏向锁;
4.rentrantlock具体实现
5.知道哪几种树,具体实现和应用场景;
6.树怎样保持平衡
7.数据库的引擎,索引实现
8.tensorflow分布式底层实现
9.编程题,54张牌(大小为54的数组),随机方式把每一位置为1 - tcp/ip四层结构
11.websocket处于哪一层,
12.udp应用场景,tcp为什么可靠,
13.音视频用tcp还是udp,tcp发送多次包接收一次还是多次,音视频传输用tcp还是udp,tcp/udp可以同时使用一个端口吗(可以)
14.linux指令
15.虚存,
16.进程间通信,
17.锁和信号量
18.编程题:判断一个数是不是2的n次幂;链表反转;树的层序遍历
19.手撕堆排,找数组中位数
20.tcp四次挥手
21.linux指令 top详情
22.数据库引擎区别,索引 b+是二叉还是多叉
23.自旋锁
24.socket编程
阿里
1.Java 和 Python区别,类型检查
2.多线程 synchronized violate
3.数据库索引 b+树插入更新效率
4.编程:一段话(含中文、字母、数字),统计每个出现的次数,每种类型中按照出现次数降序排列。
5.nlp怎么做情感分析??
6.Spring 特性,ioc和aop,aop的核心概念,动态代理机制,java动态代理
7.设计模式,单例模式的几种实现方式
8.多线程有哪些实现方式,callable和runnable区别
9.Jvm堆分区,垃圾回收算法,fullgc触发方式,jvm调优(频繁发生fullgc时怎样调整)
10.hashMap底层实现
11.数据库分库分表,具体场景
12.java集合框架整体介绍,hashMap底层数据结构,put过程;
13.hashtable与concurrentHashmap怎样实现线程安全;
14.jvm 垃圾回收算法;
15.红黑树和二叉平衡树分别是什么…
16.知道的排序算法和应用场景
17.数据库隔离级别;左连接;sql找出分数前三名的学生(考虑100分多人的情况)
18.tcp三次握手
19.spring框架核心,ioc、aop;
20.机器学习算法,介绍CNN,(有/无)监督学习,分类or回归;
七牛云
1.实现shuffle算法
2.单链表反转
3.tcp为什么要三次握手四次挥手
4.static final const 区别
5.violate关键字
6.设计模式(单例 为什么要用设计模式)
7.编程:二分查找
8.java 语言不是很好的地方
9.java垃圾回收,判断哪些需要回收,内存泄露,c中为什么没有垃圾回收机制
10.hashmap底层实现
11.编程:字符串去重