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