前言
以前看了很多大厂的面试题目,还有说哪个大厂好,哪个不好,面试问得多么多么深,都是瞎鬼,这里我想说两点:

  • 瘦死的骡子比马大,员工的面貌跟小厂的就是不一样
  • 面试官也是人,他要找的不是大牛,而是基础扎实,能一起工作的人

大厂需要这样的人(一面)
会拧螺丝:什么地方该拧多少圈,为什么拧几圈,拧的是什么部件,这个部件在整体的系统充当什么角色,如果坏了该怎么办,有没有改进的地方? 如果连螺丝刀都拿不稳,滚~

关于项目经验(二面)
没有Java经验是不行的,有完整的项目经验还不够,你必须知道他从头到尾的原理,数据为什么能传过来? 为什么这里定义了,那里就能用,到底是怎么传过去的?看过源码没有? 项目有什么要改进的地方? 并能够提供不止一个方案~

以下是题目:

1 MySQL 数据库,主从,主主,数据如何怎么写?
MySQL 如果是主从互备份,写入主库,在通过binlog同步到从库
https://www.cnblogs.com/ygqygq2/p/6045279.html
主主:指定只写一个主库,其他一个做为备用~~(上来就掉坑里了!血量80%)
你可以回答一主多从,或者双主多从,千万不要回答主主~

2 MyISAM和InnoDB的区别是什么?以及我们在项目中该怎么用?MySQL的版本用的哪个 5.7,为什么不是5.6
这里至少要答上来5点

回答出来以下内容,加分:
DELETE FROM table时,InnoDB不会重新建立表,而是一行一行的删除
InnoDB的行锁,只是在WHERE的主键是有效的,非主键的WHERE都会锁全表的。

innodb引擎的4大特性
插入缓冲(insert buffer),二次写(double write),自适应哈希索引(ahi),预读(read ahead)
以下两点,面试时要回答出来~
5.5 默认是InnoDB一定要记住~
5.6 支持全文索引~

3 Nginx的负载均衡算法有哪几种,请手写加权轮询?
https://blog.csdn.net/larry_zeng1/article/details/80407745
核心在考你加权轮询算法,没说出来

4 Spring声明式事务是什么,数据库的事务隔离级别是什么,事务的传播级别又是什么?MySQL在RR级别如何实现串行化
事务用的是编程式,还是声明,为什么要这么用?
https://blog.csdn.net/weixin_38070406/article/details/78157603
这里一定要准备~~
https://blog.csdn.net/liang_0609/article/details/78062665
MVCC没有回答上来,其实面试官就想听你说这个~

5 Spring的bean的创建过程是什么样子的?加载流程是什么样子的?加载过程中涉及到哪些设计模式?
Xml – resources – beandefination - beanfactory
https://segmentfault.com/a/1190000012887776
必须要说的:工厂,代理
追问:代理是jdk的代理的,还是cglib的代理?

6 redirect和 forward的区别是什么?什么情况下会产生301和302,如果一次登录成功,抓包工具 会抓出来哪些状态? 如果登录失败了呢?
如果登录成功,会302,失败是401
301是临时重定向,302是永久
追问:是401 .?
答:是401.1

7 Java的锁有哪些种?Synchronized的底层原理是什么,是可重入的吗? 再说一下 RetrantLock的公平性与非公平性
记住 ,Synchronize一定是可重入,可重入,重要的事情说三遍!!(凉,血量50%)
这一点要自己说出来:Synchinized锁的范围有哪些? 答:变量,方法,代码块
加分点:monitorenter(监视器进入,获取锁)和monitorexit(监视器退出,释放锁),并且要成对

8 说一下HTTPS的原理,一个HTTPS请求,怎么样显示到浏览器啊上的?
他想让你把概念点说清楚要清楚

tip:http中的场景描述要准确,然后是tcp三次握手的状态要准确,否则被面试官白眼~~没商量(血量40%)
(这道题我准备了!!)

9 线程池的原理是什么? 在创建线程池的时候,怎么样把线程的参数传入进来?讲一下线程池的淘汰策略?
其实面试官想问的是这个:

加上的线程是什么类型? 重写runnable!
详见以下文章:
https://www.jianshu.com/p/ae67972d1156

然后就是想问这个:
AbortPolicy:直接抛出异常。
CallerRunPolicy: 直接在调用者(caller)线程中运行(run)当前被丢弃的任务
DiscardPolicy:默默的丢弃
DiscardOldestPolicy:丢弃最老的一个请求任务
(面试官心想:线程池都不扎实,这种人我们不要! HP:20%)

10 关于并发,如果有1000W的并发,Nginx负载均如何分? 怎么跟老板要机器? QPS是什么,他跟并发数有什么关系?
https://www.jianshu.com/p/159fb7805147

QPS(TPS)= 并发数 / 平均响应时间(这个公式都不会,HP:10%)
1000万并发:如果相应时间是5秒,就是200万QPS
QPS(TPS):每秒钟request/事务数量
并发数:系统同时处理的request/事务数
响应时间:一般取平均响应时间
理解了上面三个要素的意义之后,就能推算出它们之间的关系:

追问1:单台Nginx的并发量是多少? 5-10万
追问2:再说下秒杀系统的实现思路(不是架构)

这些网上很多~

11 说一下volatile关键字? 有什么特性? 怎么用? 它是线程安全的吗?
我回答:防止指令重排,保证可见性和有序性,很好~
追问:被volatile修饰的关键字存在哪?共享内存,很好~

是线程安全的吗?不完全保证(我回答是, game over:HP为0!!!)
因为虽然在一个线程内部是安全的,多个线程执行无法保证~
这句话没说出来:在访问volatile变量时不会执行加锁操作,也就不会执行线程阻塞,因此volatilei是比synchronized更轻量级的同步机制。
这句话必须要说出来:当要访问的变量已在synchronized代码块中,或者为常量时,没必要使用volatile。
加分项:
加入volatile关键字时,会多出一个lock前缀指令,Java内存模型将在写操作后插入一个写屏障指令,在读操作前插入一个读屏障指令。(回答出来加分)

总结:
1 每个知识点,先说什么,后说什么,组织语言,不能乱,前后不能矛盾
2 面试官会根据你的简历,还有他的知识储备进行问,要让面试官能够抓住你的点。
3 基础知识要踏实,马虎不得(我就栽在这里了)!关于原理,说对了不扣分,说错了额扣分,就是那么残酷!!
4 想通过出面,要把其中的2-3个问题答完美!!
5 秒杀系统要会(技术点,方案,会出现什么问题等等)
6 在写代码时,要区分哪些是JDK特有,哪些是Spring特有~

最后,大厂没有什么神奇的:门面漂亮,摊子大,工作节奏快,工资高
程序员是靠技术吃饭的,花架子使不得。
还要感谢面试官,是我开启了我的大厂面试之旅!!

面试官没问我Redis和消息队列,谢天谢地~~

京东面试复盘(2019-7-16)相关推荐

  1. 【失败面经】【2019暑期实习面试复盘】网易游戏互联网产品策划Vivo交互设计

    想稍微复盘一下,给自己积攒面经(&人品) 个人情况:交互设计小白,985研究生,无产品或交互设计实习 两场面试皆base in 广州 4.11 网易游戏互联网产品策划--Rejected (当 ...

  2. 京东四轮面试复盘,本人985渣硕一年实习经验,目前已经入职一周!

    前言 还记得上次京东面试,刚从家回到学校屁股还没坐热就给我打电话突击面试,完全没来得及准备.这次应该是前面大佬释放的名额,所以又把我捞起来了. 面试官主要在问一些基础的东西,整体也就半小时吧,因为问比 ...

  3. java面试宝典2019(总结)

    推荐面试视频教程 2019最全BATJ面试免费视频教程 java面试宝典2019 1. meta标签的作用是什么 2. ReenTrantLock可重入锁(和synchronized的区别)总结 3. ...

  4. java面试宝典2019_Java面试宝典2019完整版.doc

    Java面试宝典2019完整版.doc PAGE \* MERGEFORMAT2 Java面试宝典2019版 TOC \o "1-3" \h \z \u HYPERLINK \l ...

  5. 工作4年从美团、360、陌陌、百度、阿里、京东面试程序员的回来感想

    工作4年从美团.360.陌陌.百度.阿里.京东面试回来感想 原创: spring boot JAVA高级架构 今天 已经凌晨2点多了,看来今天是失眠了,反正睡不着,写篇日记总结一下我最近面试经历吧. ...

  6. 美团面试,360面试 ,滴滴面试,阿里面试,百度面试,京东面试,搜狗面试:

    一.基础知识:   1.CurrentHashMap的数据结构,Java1.8 与 java 1.7的区别,增加了那些特性 这个其实是考了一下编程思路,hashMap(链表+数组)==>1.8之 ...

  7. java面试宝典2019(好东西先留着)

    java面试宝典2019 1.meta标签的作用是什么 2.ReenTrantLock可重入锁(和synchronized的区别)总结 3.Spring中的自动装配有哪些限制? 4.什么是可变参数? ...

  8. 20届本科应届生深圳面试复盘——wsdchong

    面试复盘 前言: 2020年6月26号下午两点半来深圳,在深圳北找了间宾馆暂住一晚.然后联系之前联系过的公司,准备面试.说实在的有些可惜,秋招没重视,春招遇到疫情,拖到六月份才开始有时间来面试.27号 ...

  9. 京东面试官问我:“聊聊MySql事务,MVCC?”

    大家好,今天来分享一个京东面试真题,也是这是我前阵子听我工位旁边高T(高,实在是高)面试候选人的时候问的一个问题,他问,你能说说 mysql的事务吗?MVCC有了解吗? 话不多说,直接开干 事务定义及 ...

最新文章

  1. C# ---扩展方法
  2. Linux+apache+svn
  3. 编写高质量代码:改善Java的151个建议四(基本类型)21-30
  4. RTT内核对象——内核对象的派生
  5. 第十一周学习进度报告
  6. Strassen算法
  7. groupadd 命令
  8. [转载]表的设计命名的十个注意点
  9. 单线程+异步协程的简单爬虫模型
  10. scrollView滚动原理
  11. 函数glDefinePopup(),动态定义多级的popup菜单
  12. 数学建模常用算法汇总及python,MATLAB实现(七) —— sklearn和SPSS实现主成分分析
  13. ON1 Resize AI 2022(图片无损放大软件)官方中文版介绍 | 图片无损放大用什么软件 | 图片无损放大软件哪个好用?
  14. 做python少儿编程教程-基于海龟编辑器python少儿编程
  15. 计算机二级考试科目vfp,计算机二级考试科目及内容
  16. 气死电信 有时用联创宽带上网助手你登不上就改一下MAC地址挺灵 Windows xp 下修改mac地址
  17. PCB线宽与电阻的计算
  18. 消元法解二元一次方程组c语言,消元法解二元一次方程组的概念、步骤与方法...
  19. 布法罗计算机专业怎么样,布法罗大学 University at Buffalo
  20. Java 轮询(重发)机制

热门文章

  1. 删除有序数组中的重复项LeetCode26双指针法解决
  2. QT线程界面也存在卡死的问题
  3. 空间数据可视化神器,Pydeck
  4. windows如何通过网线共享网络给其他设备
  5. Python实例16:玫瑰花绘制
  6. 人工智能所需高等数学知识大全(收藏版)
  7. QT 实现录音功能(注意事项)
  8. Linux嵌入式驱动开发02——驱动编译到内核
  9. Internet Download Manager(IDM)v6.41.11 免激活不弹窗版
  10. Win7 快捷方式变成浏览器图标解决