本文共 2455 字,大约阅读时间需要 8 分钟。
一线互联网公司技术面试常见问题整理
面试是每个求职者的重要环节,特别是对于缺乏丰富工作经验的开发者来说,面对一线互联网公司的技术面试可能会感到倍感压力。本文尝试整理并分享一些知名大厂面试的常见问题,供准备面试的朋友们参考。
拼多多面试
一面
简短自我介绍。 SpringBoot配置途径? application.properties和application.yml文件可放位置?优先级? SpringBoot自动配置原理? SpringBoot如何修改端口号? 开启SpringBoot特性的几种方式? 获得Bean装配报告信息访问哪个端点? 描述下线程池的处理流程? 如何激活某个环境的配置? SpringBoot读取配置相关注解有? SpringBoot如何修改端口号? 二面
请描述Spring MVC的工作流程? 描述一下DispatcherServlet的工作流程? MVC是什么?MVC设计模式的好处有哪些? SpringMvc中的控制器的注解一般用哪个,有没有别的注解可以替代? @Controller注解的作用。 @ResponseBody注解的作用。 Spring MVC怎么样设定重定向和转发的? Spring MVC怎么和AJAX相互调用? 三面
JVM内存模型。 JVM内存为什么要分成新生代、老年代、持久代。新生代中为什么要分为Eden和Survivor? 为什么要分为Eden和Survivor?为什么要设置两个Survivor区? JVM中一次完整的GC流程是怎样的?对象如何晋升到老年代。 JVM内存模型的相关知识了解多少?比如重排序、内存屏障、happen-before、主内存、工作内存。 最后谈谈你参与过的项目,技术含量比较高的,相关的架构设计以及你负责哪些核心编码。 阿里巴巴面试
一面
MyISAM和InnoDB的区别有哪些? MySQL事务的隔离级别,分别有什么特点? 做过哪些MySQL索引相关优化? 简要说一下数据库范式。 一千万条数据的表,如何分页查询? 订单表数据量越来越大导致查询缓慢,如何处理? MySQL由哪些部分组成?分别用来做什么? MySQL查询缓存有什么弊端?应该什么情况下使用?8.0版本对查询缓存有什么变更? 唯一索引比普通索引快吗?为什么? MySQL怎么恢复半个月前的数据? 二面
Redis相比memcached有哪些优势? Redis支持哪几种数据类型? Redis有哪几种数据淘汰策略? 为什么Redis需要把所有数据放到内存中? Redis集群方案应该怎么做?都有哪些方案? Redis集群方案什么情况下会导致整个集群不可用? Redis适合的场景有哪些? Redis和Redisson有什么关系? Jedis与Redisson对比有什么优缺点? 三面
自我介绍。 参与的并发项目,从设计到部署,按照流程讲一遍。 数据库主从同步如何实现?事务如何实现? 阿里系统中间件MetaQ及原理与现有的Kafka有什么异同? 阿里有了解过哪些中间件?实现原理?与其他开源消息队列有什么特点? Znode有哪些类型? Zookeeper有哪几种部署模式? Zookeeper对节点的watch监听通知是永久的吗?为什么不是永久的? Zookeeper下Server工作状态有哪些?10.谈谈你对SOA和微服务的理解,以及分布式架构从应用层面涉及到的调整和挑战。 三年到五年的职业规划? 今日头条面试
一面
Linux的基本组件是什么? 为什么Linux体系结构要分为用户空间和内核空间? BASH和DOS之间的基本区别? Linux有哪些系统日志文件? JavaGC机制?GC Roots有哪些? 红黑树讲一下,五个特性,插入删除操作,时间复杂度? HashMap,怎么扩容,怎么处理数据冲突?怎么高效率的实现数据迁移? 二面
自我介绍,讲一讲自己的擅长领域。 Redis数据结构解释一下。 对设计模式了解多少? 设计模式里的三种代理的区别是什么? 什么情况下用HashMap,什么情况用ConcurrentHashMap? 为什么Java8并发效率更好? 三面
MySQL索引的实现,InnoDB的索引,B+树索引是怎么实现的?为什么用B+树做索引节点,一个节点存了多少数据,怎么规定大小,与磁盘页对应。 如果Redis有1亿个key,使用keys命令是否会影响线上服务? 建造者模式通常包括几个角色? 代码实现模板方法模式说一下。 MySQL数据主从同步是如何实现的? 未来的规划是什么? 你有什么想问我吗? 京东面试
一面
简短自我介绍。 JDK1.8中,对HashMap和ConcurrentHashMap做了哪些优化? synchronized和ReentrantLock的区别? ThreadLocal?应用场景? MySQL行锁是否会有死锁的情况? 事务的ACID,详细解释一遍。 ThreadLocal?应用场景? ArrayList和LinkedList的区别? HashMap的实现原理? 红黑树先讲什么是二叉树? 二面
谈谈Redis哨兵、复制、集群? Redis是单线程吗? Linux的基本组件是什么? Linux使用的进程间通信方式? 什么是正向代理和反向代理? Nginx配置文件nginx.conf有哪些属性模块? 如何用Nginx解决前端跨域问题? 工作中技术优化过哪些? 三面
Spring由哪些模块组成? Spring框架中用到了哪些设计模式? 核心容器(Spring Context应用上下文)模块详细讲解。 Spring应用程序有哪些不同组件? 高并发的应用场景,技术需要涉及到哪些?怎样来架构设计? 最后谈谈你参与过的项目,技术含量比较高的,相关的架构设计以及你负责哪些核心编码。 面试是技术与智慧的较量,希望这份整理能对你有所帮助!如果需要更多面试资料,可以关注我的公众号或其他技术分享平台。
转载地址:http://uuwc.baihongyu.com/