前言

最近三周密集进行了一波波面试,很多公司已经可以支持视频面试,总共参加了十几家公司的面试,包括一些大厂和小厂,其中字节和shoppe止于最后一轮技术面,最后收到四个offer,最终选了一个钱少加班少但面试给我感觉较好的的offer。

面试内容

一般大公司更看重底层原理,小公司更看重项目经历。我投的都是Python开发,很多公司根本不会问Python问题,更多的还是问算法和数据结构、操作系统、网络、数据库等底层基础

算法与数据结构

这次遇到的算法都是考的简单和中等的,而且简单的偏多,可能只是为了检验一下基础的逻辑性吧

  • 反转链表
  • 返回每层的第一个左节点
  • 最长无重复子串
  • 实现atoi
  • 有效括号组合
  • 栈实现队列
  • 找出两数之和小于X的个数

Python

  • python函数调用是传参还是传值?
  • 元类是什么?有什么作用
  • 装饰器是什么?
  • 实现一个单例?
  • 字典是怎么实现的?
  • 垃圾回收是怎么样的?

操作系统

  • 进程、线程和协程的异同
  • 互斥锁和自旋锁的区别
  • 堆和栈的区别

网络

  • TCP三次握手和挥手
  • TCP和UDP异同
  • 网络IO的类型
  • select和epoll的异同

数据库

  • redis的数据类型及其底层数据结构
  • 如何使用redis实现分布式锁
  • mongodb是CAP的哪种
  • mysql的索引类型
  • mysql的隔离界别
  • 什么是幻读?默认隔离级别会发生幻读吗?

反思和总结

求职也是一个自发发现和突破的过程,这次求职其实发现自己很在乎别人的认可,但是完全依赖外部的评价会让人容易迷失

需要准备,更需要实战,算法刷了近两百道,极客时间MySQL专栏也看了三遍,但面试的时候还是遇到不少欠缺的。

可以的话还是骑驴找马吧,面试还是很看重机缘的

不立不破,敢于失败敢于立flag

面对真实的自己