前言
最近三周密集进行了一波波面试,很多公司已经可以支持视频面试,总共参加了十几家公司的面试,包括一些大厂和小厂,其中字节和shoppe止于最后一轮技术面,最后收到四个offer,最终选了一个钱少加班少但面试给我感觉较好的的offer。
面试内容
一般大公司更看重底层原理,小公司更看重项目经历。我投的都是Python开发,很多公司根本不会问Python问题,更多的还是问算法和数据结构、操作系统、网络、数据库等底层基础
算法与数据结构
这次遇到的算法都是考的简单和中等的,而且简单的偏多,可能只是为了检验一下基础的逻辑性吧
- 反转链表
 - 返回每层的第一个左节点
 - 最长无重复子串
 - 实现atoi
 - 有效括号组合
 - 栈实现队列
 - 找出两数之和小于X的个数
 
Python
- python函数调用是传参还是传值?
 - 元类是什么?有什么作用
 - 装饰器是什么?
 - 实现一个单例?
 - 字典是怎么实现的?
 - 垃圾回收是怎么样的?
 
操作系统
- 进程、线程和协程的异同
 - 互斥锁和自旋锁的区别
 - 堆和栈的区别
 
网络
- TCP三次握手和挥手
 - TCP和UDP异同
 - 网络IO的类型
 - select和epoll的异同
 
数据库
- redis的数据类型及其底层数据结构
 - 如何使用redis实现分布式锁
 - mongodb是CAP的哪种
 - mysql的索引类型
 - mysql的隔离界别
 - 什么是幻读?默认隔离级别会发生幻读吗?
 
反思和总结
求职也是一个自发发现和突破的过程,这次求职其实发现自己很在乎别人的认可,但是完全依赖外部的评价会让人容易迷失
需要准备,更需要实战,算法刷了近两百道,极客时间MySQL专栏也看了三遍,但面试的时候还是遇到不少欠缺的。
可以的话还是骑驴找马吧,面试还是很看重机缘的
不立不破,敢于失败敢于立flag
面对真实的自己