京东面试复盘(2019-7-16)
前言
以前看了很多大厂的面试题目,还有说哪个大厂好,哪个不好,面试问得多么多么深,都是瞎鬼,这里我想说两点:
- 瘦死的骡子比马大,员工的面貌跟小厂的就是不一样
- 面试官也是人,他要找的不是大牛,而是基础扎实,能一起工作的人
大厂需要这样的人(一面)
会拧螺丝:什么地方该拧多少圈,为什么拧几圈,拧的是什么部件,这个部件在整体的系统充当什么角色,如果坏了该怎么办,有没有改进的地方? 如果连螺丝刀都拿不稳,滚~
关于项目经验(二面)
没有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)相关推荐
- 【失败面经】【2019暑期实习面试复盘】网易游戏互联网产品策划Vivo交互设计
想稍微复盘一下,给自己积攒面经(&人品) 个人情况:交互设计小白,985研究生,无产品或交互设计实习 两场面试皆base in 广州 4.11 网易游戏互联网产品策划--Rejected (当 ...
- 京东四轮面试复盘,本人985渣硕一年实习经验,目前已经入职一周!
前言 还记得上次京东面试,刚从家回到学校屁股还没坐热就给我打电话突击面试,完全没来得及准备.这次应该是前面大佬释放的名额,所以又把我捞起来了. 面试官主要在问一些基础的东西,整体也就半小时吧,因为问比 ...
- java面试宝典2019(总结)
推荐面试视频教程 2019最全BATJ面试免费视频教程 java面试宝典2019 1. meta标签的作用是什么 2. ReenTrantLock可重入锁(和synchronized的区别)总结 3. ...
- java面试宝典2019_Java面试宝典2019完整版.doc
Java面试宝典2019完整版.doc PAGE \* MERGEFORMAT2 Java面试宝典2019版 TOC \o "1-3" \h \z \u HYPERLINK \l ...
- 工作4年从美团、360、陌陌、百度、阿里、京东面试程序员的回来感想
工作4年从美团.360.陌陌.百度.阿里.京东面试回来感想 原创: spring boot JAVA高级架构 今天 已经凌晨2点多了,看来今天是失眠了,反正睡不着,写篇日记总结一下我最近面试经历吧. ...
- 美团面试,360面试 ,滴滴面试,阿里面试,百度面试,京东面试,搜狗面试:
一.基础知识: 1.CurrentHashMap的数据结构,Java1.8 与 java 1.7的区别,增加了那些特性 这个其实是考了一下编程思路,hashMap(链表+数组)==>1.8之 ...
- java面试宝典2019(好东西先留着)
java面试宝典2019 1.meta标签的作用是什么 2.ReenTrantLock可重入锁(和synchronized的区别)总结 3.Spring中的自动装配有哪些限制? 4.什么是可变参数? ...
- 20届本科应届生深圳面试复盘——wsdchong
面试复盘 前言: 2020年6月26号下午两点半来深圳,在深圳北找了间宾馆暂住一晚.然后联系之前联系过的公司,准备面试.说实在的有些可惜,秋招没重视,春招遇到疫情,拖到六月份才开始有时间来面试.27号 ...
- 京东面试官问我:“聊聊MySql事务,MVCC?”
大家好,今天来分享一个京东面试真题,也是这是我前阵子听我工位旁边高T(高,实在是高)面试候选人的时候问的一个问题,他问,你能说说 mysql的事务吗?MVCC有了解吗? 话不多说,直接开干 事务定义及 ...
最新文章
- C# ---扩展方法
- Linux+apache+svn
- 编写高质量代码:改善Java的151个建议四(基本类型)21-30
- RTT内核对象——内核对象的派生
- 第十一周学习进度报告
- Strassen算法
- groupadd 命令
- [转载]表的设计命名的十个注意点
- 单线程+异步协程的简单爬虫模型
- scrollView滚动原理
- 函数glDefinePopup(),动态定义多级的popup菜单
- 数学建模常用算法汇总及python,MATLAB实现(七) —— sklearn和SPSS实现主成分分析
- ON1 Resize AI 2022(图片无损放大软件)官方中文版介绍 | 图片无损放大用什么软件 | 图片无损放大软件哪个好用?
- 做python少儿编程教程-基于海龟编辑器python少儿编程
- 计算机二级考试科目vfp,计算机二级考试科目及内容
- 气死电信 有时用联创宽带上网助手你登不上就改一下MAC地址挺灵 Windows xp 下修改mac地址
- PCB线宽与电阻的计算
- 消元法解二元一次方程组c语言,消元法解二元一次方程组的概念、步骤与方法...
- 布法罗计算机专业怎么样,布法罗大学 University at Buffalo
- Java 轮询(重发)机制