【暑期实习面经】美团-大数据部-后端开发
一面 2021年3月30日 50分钟 大数据部,BI领域 (面试官人超好!) 简历项目 Java 1.HashMap的实现原理 2.线程安全的类:ConcurrentHashMap 3.volatile关键字 4.乐观锁、悲观锁 5.Java String的长度限制(不知道,字符串常量最大长度为65534) 数据库 1.ACID 2.隔离级别 编程 1.扑克牌顺子(力扣 剑指Offe...
一面 2021年3月30日 50分钟 大数据部,BI领域 (面试官人超好!) 简历项目 Java 1.HashMap的实现原理 2.线程安全的类:ConcurrentHashMap 3.volatile关键字 4.乐观锁、悲观锁 5.Java String的长度限制(不知道,字符串常量最大长度为65534) 数据库 1.ACID 2.隔离级别 编程 1.扑克牌顺子(力扣 剑指Offe...
2021年3月29日 1小时 自我介绍 简历项目 1.反爬机制(IP代理池,Selenium,其他不知道) 2.Scrapy如何去重,布隆过滤器(不知道) 3.Scrapy如何发请求,为什么比其他框架快(不知道) 4.Scrapy中间队列(不知道) 5.逆向工程,charles抓包工具(不知道) Java 1.集合框架有哪些 Collection List - ArrayList, L...
Python的除法分为普通除法(/)和整数除法(//),普通除法返回浮点数,整数除法只保留整数部分(向下取整) 取整函数:int()是向零取整,math.floor()是向下取整 余数的符号与除数相同 以下等式恒成立: x // y == floor(x / y) x == (x // y) * y + x % y x / y ...
1.HashMap实现原理 数组+链表/红黑树 根据key的hash确定数组下标(桶),同一个桶中hash相同的节点(键值对)组织成链表或红黑树。 当数组元素个数超过数组大小*负载因子(默认0.75)时数组扩容(大小加倍)并重新哈希。 参考:https://blog.csdn.net/weixin_44460333/article/details/86770169 核心成员 //...
1.线程池的主要作用 不同请求之间重复利用线程,无需频繁地创建和销毁线程,降低系统开销。 控制线程数量上限,避免创建过多的线程耗尽进程内存空间,同时减少线程上下文切换次数。 2.ThreadPoolExecutor类 线程池由两个核心数据结构组成: 线程集合workers:存放执行任务的线程,是一个HashSet<Worker>。 任务等待队列wor...
模拟对象(mock object)用于在单元测试中将系统的一部分替换为虚假对象,从而方便验证这些对象如何被使用 标准库提供了unittest.mock模块,其核心是Mock, MagicMock两个类以及patch()函数 Mock类 访问Mock对象的任何属性或方法时,它都会记录访问细节(例如方法的调用实参),如果不存在则会创建;另外Mock对象是可调用的,即可以当作函数来调用,每次调...
2021年3月10日 36分钟 自我介绍、简历项目 Java虚拟机: 内存模型 GC Full GC 线程池如何实现 阻塞队列 实现细节? 线程通信 信号量 锁…… 原子性、可见性? 读取一个long是不是原子的 a=b+1 JVM如何实现 共享区域 乐观锁、悲观锁 Spring类加载机制 虚拟机何时加载类,何时卸载类 class加载到哪里 计算机网络 HTTP连接建立过程 TCP三次...
官方文档:https://docs.gitlab.com/ee/ci/index.html GitLab CI/CD是GitLab提供的持续集成/部署工具,持续集成(CI)在每次向仓库push代码、合并到主分支前时执行构建和测试脚本,持续部署(CD)在每次向主分支push代码时将应用部署到服务器 GitLab CI/CD通过仓库根目录下一个名为.gitlab-ci.yml的文件进行配置,...
官方文档: https://github.com/features/actions https://docs.github.com/en/actions 基本概念 GitHub Actions用于自动化软件开发中的任务 GitHub Actions是事件驱动的,即当指定的事件发生时(例如push, pull request等)运行一系列命令(例如构建、测试、部署等) 事...
原创工具程序,使用Graphviz将pip包的依赖关系图可视化,效果如下图所示 其中红色表示没有入边的顶点 代码如下 import subprocess import pip._internal.commands.list as list_cmd import pip._internal.commands.show as show_cmd def run(): wit...