今日头条python面试题一
聊项目,画项目架构图,画一个用户从发起请求到接收到响应,中间经过哪些服务,每个服务做什么事情的流程图。
讲项目中的难点、挑战,你是如何解决的?
Redis 中有几种类型 & 各自底层怎么实现的 & 项目中哪个地方用了什么类型,怎么使用的?
Redis如何实现分布式锁,zk如何实现分布式锁,两者的区别。如果service还没执行完,分布式锁在Redis中已经过期了,怎么解决这种问题?
synchronized底层实现,加在方法上和加在同步代码块中编译后的区别、类锁、对象锁。
锁升级的过程。
Java运行时区域及各个区域的作用、对GC的了解、Java内存模型及为什么要这么设计?
对索引的理解,组合索引,索引的最佳实践
countDownLatch用过没有,在项目中如何使用的,对AQS的了解。
写生产者消费者问题,考虑高并发的情况,可以使用Java 类库,白纸写代码。
设计一个发号器,考虑集群和高并发的情况,要求发号器生成的id是递增趋势,通过id可以区分出来是今天生成的id还是昨天生成的id,但是生成的id中不能直接带有日期,要具有一定的混淆功能,白纸写代码
一个二位数组,每个元素都可以往上下左右四个方向走,寻找最长递增路径。如下图所示,最长递增路径即红色字体路径。白纸写代码。