[后端的秋招简历]2018秋招面经-后端开发
转发镜像:http://www.nowcoder.com/discuss/61958?type=0&order=4&pos=16&page=24
此基础部份
TCPcustom文件格式
UDPcustom文件格式
TCP/UDP差别(不但是宏观经济上的,最合适能依照各别的监督机制传授确切)
HTTP状况码(最合适紧密结合采用情景,比如说在内存投弹时采用别的)
HTTP协定(许多custom表头的促进作用,如cace-control、keep-alive)
OSI协定、TCP/IP协定和四层相关联的协定。
SESSION监督机制、cookie监督机制
TCP四次击掌、四次挥手致意(那个难题吗要提问吐了,但是吗是辩手最喜欢问的,提议每晚手撸两遍,所以不而已每晚允诺的操作过程,各式各样FIN_WAIT、TIME_WAIT状况也要掌控)。
关上页面到页面表明间的操作过程(囊括了方方面面,DNS导出操作过程,Nginx允诺转贴、相连创建和维持操作过程、应用程序文本图形操作过程,考量的越详尽越少)。
http和http差别,http在允诺时附加的操作过程,http是怎样确保信息安全的
IP门牌号VLAN分割
POST和GET差别
DNS导出操作过程
深入部份
13. TCP怎样确保数据的可靠传输的(那个难题可以引申出很多子难题,拥塞控制慢开始、拥塞避免、快重传、滑动窗口协定、停止等待协定、超时重传监督机制,最合适都能掌控)
14. 门牌号导出协定ARP
15. 交换机和路由器的差别
此基础部份
事务四大特性(ACID)
数据库隔离级别,每个级别会引发什么难题,mysql默认是别的级别
MYSQL的两种存储引擎差别(事务、锁级别等等),各别的适用情景
数据库的优化(从sql语句优化和索引两个部份提问)
索引有B+索引和hash索引,各别的差别
B+索引数据结构,和B树的差别
索引的分类(主键索引、唯一索引),最左前缀原则,哪些情况索引会失效
聚集索引和非聚集索引差别。
有哪些锁(乐观锁悲观锁),select时怎么加排它锁
关系型数据库和非关系型数据库差别
了解nosql
数据库三范式,依照某个情景设计数据表(可以通过手绘ER图)
数据库的主从复制
采用explain优化sql和索引
long_query怎么解决
内相连、外相连、交叉相连、笛卡儿积等
深入
MVCC监督机制
依照具体情景,说明版本控制监督机制
死锁怎么解决
varchar和char的采用情景。
mysql并发情况下怎么解决(通过事务、隔离级别、锁)
Redis
redis数据结构有哪些
redis队列应用情景
redis和Memcached(支持数据持久化)
分布式采用情景(储存session等)
发布/订阅采用情景
内存的页面置换算法
进程调度算法
进程间通信方式
进程线程差别
进程间的通信
父子进程、孤儿进程
fork进程时的操作,
那个部份我提问的都不好,只能是死记硬背,提议此基础好的同学多看看操作系统这部份,能大大加分。
此基础
剑指OFFER的各个题目是最常见的,即使不是原题也是题目的变体,因为面试不像笔试,一般不会出特别困难的题目,所以剑指OFFER上小而精的题目就非常适合。提议手刷两遍。PHP的同学可以参考专栏剑指OFFER
二叉树相关(层次遍历、求深度、求两个节点距离、翻转二叉树、前中后序遍历)
链表相关(插入节点、链表逆置、采用链表进行大数字的加减,双向链表实现队列、寻找链表中的环)
堆(大量数据中寻找最大N个数字几乎每晚都会问,还有堆在插入时进行的调整)
排序(八大排序,各别的时间复杂度、排序算法的稳定性。快排几乎每晚都问)
二分查找(一般会深入,如寻找数组总和为K的两个数字)
两个栈实现队列。
图(深度广度优先遍历、单源最短路径、最小生成树)
动态规划难题。
深入
红黑树性质
分治法和动态规划的差别
计算时间复杂度
二叉树和哈希表查找的时间复杂度
栈和链表是面试算法的时候经常用到的工具,多考量怎么用数据结构的性质解决,因为面试不像笔试,对此基础数据结构关注的比较多许多,一般难题也比较简单。然后取模也是常用的工具(比如说有一次问怎么让100个进程按规定的权重被调用,就可以用取模的方式)。
辩手一般会先出简单的难题,然后深入地问下去,最合适是依照他的思路走,因为能听懂他的提示也是需要考察的能力。
硬镜像和软相连差别
kill用法,某个进程杀不掉的原因(进入内核态,忽略kill信号)
linux用过的命令
系统管理命令(如查看内存采用、网络情况)
管道的采用 |
grep的采用,一定要掌控,每晚都会问在文件中查找
shell脚本
find命令
awk采用
数组操作函数
字符串操作函数(数组和字符串的函数是最常问的,非常多,一定不要记混了)
指针和引用差别
堆和栈的差别
=====差别
java的垃圾回收监督机制
jvm内存结构
防sql注入
跨域难题
长镜像和长轮询
面向对象、设计模式
接口和抽象类差别
单继承
construct的调用顺序(子类父类间)
设计模式(工厂模式、策略模式、单例模式、装饰模式比较常见)
OOP特性,通过哪些监督机制实现的
重写和重载差别
静态类静态方法
依照某个需求设计一个类(主要考量类间的继承关系和属性的权限设置)
项目中遇到的困难(提前想好,并且把实现或者优化方法说确切)
系统的量级、pv、uv等
应对高并发的解决办法(分布式)
在项目中主要负责了哪些工作。
nginx的负载均衡
分布式内存的一致性,服务器怎样扩容(哈希环)
总之要把写在个人简历上的项目部份熟悉两遍,技术栈、项目功能、难点都要考量好。