赞
踩
武汉余家头某211本科计算机在读,22年毕业,绩点4.0,年级15%,主修课程:数据库、操作系统、计算机网络、数据结构等。面了四家公司,字节先给了offer就去了,其他在流程中的就拒了。
其实岗位相同的情况下,大厂面试题目都大同小异。但是根据我自己的经历来看,阿里会问一些偏业务的东西,其他大厂针对实习生都没太高要求,主要从以下几个方面展开。
(1)栈、队列区别。
(2)用栈实现队列、用队列实现栈。
(3)hash冲突解决方式。
(4)判断A树是否包含B树,如下图所示:
(5)判断链表的第一个公共节点。
(6)已知树的中序遍历和先序遍历,求后序遍历。
(7)求小于N的所有质数。
(8)已知N种不同面值的硬币无数枚,求组成amount金额的最小硬币数量,如[2,3,4],amount=8,结果为2。
(1)CPU调度算法。
(2)进程和线程的区别。
(3)进程和线程的通信方法。
(4)什么是虚拟内存。
(5)用户态和内核态是什么。
(6)死锁是什么,形成条件是什么,怎么预防和解决死锁。
(7)硬中断和软中断区别。
(8)锁是什么。
(1)TCP/IP协议簇是什么。
(2)TCP和UDP区别,各自使用场景。
(3)TCP怎么保证可靠传输的,三次握手、四次挥手具体过程。
(4)为什么要三次握手,两次行不行,四次行不行?
(5)为什么要四次挥手,三次不行么(重点答全双工通信)。
(6)从浏览器输入URL到看到页面经历了什么?
(7)TCP拥塞控制机制。
(8)TCP滑动窗口机制。
(9)HTTP请求的几种方式,GET和POST的区别。
(10)HTTP1.0和HTTP1.1的区别。
(11)HTTP1和HTTP2的区别。
(12)HTTP和HTTPS的区别。
(1)项目中数据库是怎么设计的。
(2)数据库各范式怎么规定的。
(3)熟悉哪些数据库引擎,innoDB,MyISAM的区别。
(4)数据库事务ACID特性。
(5)事务并发影响:脏读、不可重复读、幻读。
(6)事务隔离级别:读未提交、读已提交、可重复读、串行化。
(7)数据库索引类型。
(8)为什么用B+树,不用Hash(重点答哈希没办法模糊查和范围查),为什么不用B树、AVL树、红黑树(从B+树和其他树结构的区别答)。
(9)MySQL执行语句的过程。
(10)写SQL语句(重点Limit、group by、having、内连接外连接、子查询)。
(11)MySQL优化方式:
单机上看:
设计之初考虑数据类型;
建立合适的索引;
语句上用Explain监控SQL语句执行;
查看数据库连接是否过多。
…
多级上看:
考虑建立数据库集群,处理好主从一致。
…
(12)MySQL日志。
(1)String、StringBuilder和StringBuffer区别。
(2)Array和ArrayList。
(3)ArrayList、Vector和LinkedList区别。
(4)Java线程同步方式:Synchronized、Lock锁。
(5)Volatile关键字。
(6)==和equal区别。
(7)HashMap和HashTable区别。
(8)HashMap在JDK1.8前后区别(前插尾插、红黑树)。
(9)ConcurrentHashMap结构,怎么保证同步。
(1)Java线程池参数及其含义。
(2)Java单例模式的实现(至少掌握饿汉式、懒汉式、双检锁)。
(1)JVM垃圾回收算法(复制、标记清除、标记整理)。
(2)判断对象“存活”的方式(GCROOT)。
(3)JVM分代回收机制(年轻代、年老代、MinorGC、FullGC)。
(4)JVM垃圾收集器(CMS、G1等等)。
(5)Java内存结构(堆、方法区、PC程序计数器、Java栈、本地方法栈)。
(6)类加载过程(双亲委派机制)。
(7)Java四种引用类型及其回收策略(强引用、软引用、弱引用、虚引用)。
(8)什么时候会触发GC。
(9)内存泄漏和内存溢出的含义,各自发生的场景。
(10)方法区在JDK1.8前后实现区别(1.8前永久区,之后元空间)。
(11)知道哪些JVM(hotspot、J9VM等)。
(1)Redis与MySQL区别(内存化、单线程)。
(2)Redis支持的数据类型(String、List、Hash、Set、SortedSet)。
(3)Redis持久化机制(RDB基于快照、AOF基于日志)。
字节内推码FUA3EUM + WX JasonZhangIT 随时查进度
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。