京东商城

76人关注 关注 1626 人分享

京东商城 面试 (共953条面试经验分享)

面试感觉

[{value:110, name:'很好'},{value:420, name:'一般'},{value:159, name:'不好'}]

面试难度

  • 面试难度指数:
  • 60
  • 1%
  • 19%
  • 62%
  • 11%
  • 4%

应聘途径

[{value:483,name:'校园招聘'},{value:413,name:'网上申请'},{value:46,name:'招聘会'},{value:112,name:'社会招聘'},{value:59,name:'内部推荐'},{value:11,name:'猎头'},{value:54,name:'熟人/朋友/介绍'},{value:8,name:'通过关系'}]
  • 1 校园招聘 40 %
  • 2 网上申请 34 %
  • 3 社会招聘 9 %
  • 4 内部推荐 4 %
  • 5 亲友介绍 4 %
  • 6 招聘会 3 %
  • 7 猎头 0 %
  • 8 通过关系 0 %

京东商城面试经验(共953条) 最近更新时间:2018-10-22 12:25:39

2018-10-22 12:25:39 | 网上申请
面试过程:

基本信息:12个人(9女3男)PS:我是1号/演讲每人1分钟(共13分钟)
通过:3号男+10号女+12号女
面试形式:1分钟演讲(1分钟准备:请谈谈“蜀道难,难于上青天”这句诗的理解)
小组面试;

5min读题+25min讨论+3min推荐总结~
PASS评价:
1有观点+逻辑清晰:小猪佩奇:1社会人潮流2内心出发3抖音等社交媒体炒作
2结合京东物流企业发展回答
3同行业案例收集
4计时无用,但是在关键时候把我整体节奏很重要

自我评价:
1面试前没有准备
2之前鸿仁上课的自身案例没有用上,瞎讲一通,应该准备1min+3min两个版本,总结一下
3跳出题目之外,引起小组成员3次反对,与讨论实际情况不符
4全称附和无用的话,刷存在感,没有观点,杀(附和别人的主场,没有自己形成自己的影响圈)
5过于沉浸在题目里面,没有理论依据作参考,没有足够的大局观
6没有发挥自己供应链专业的优势(团队合作中的供应链协作都没有答上来)
7没有专业素养

面试官问的面试题:

没有提问
自我总结:
1逻辑思维模板
2案例收集+关注行业动态(企业微信公众号,官网~)——逻辑思维导图 1天1张
3结合公司自身发展
4全程微笑,亲和力尊重~
5需要有价值,不能套路
6回顾鸿仁课程~
7看面经~

赞一下(0) 踩一下

2018-10-11 09:50:58 | 内部推荐
面试过程:

同学在这个组实习过,就让他帮忙内推了。没想到岗位不match。。所以整个过程非常痛苦。内推完第二天就打来电话约了时间,电话里说了地点,并没有经过hr,是面试官直接联系的。准时到了以后就开始面试,两面,最后还问了有哪些别的offer以及期望待遇等,搞得以为自己过了。。

面试官问的面试题:

一面是个女面试官,先过了一遍简历,然后问了几个基础问题:讲一下word2vec,写交叉熵损失函数等,然后问了几个算法题:
1. 一个从左往右、从上往下递增的二维数组,怎么查找一个数在不在里面?
2. 单链表的反转
二面 男
1. 写lstm的公式
2. 用两个栈实现一个队列
3. 一个迷宫,找从入口到出口的最短路径
广度优先搜索,记录当前点的最短路径。。
4. 园的内切三角形是锐角三角形的概率 1/4

赞一下(0) 踩一下

2018-09-28 11:04:38 | 校园招聘
面试过程:

校园招聘投了京东的供应链规划岗,笔试完成后大概两天收到的9月25号初试通知,面试是在一家酒店进行,抵达先现场后首先进行了签到,楼主原定2点面试,但由于前一个面试者超时,因此楼主大概2:10分进入的面试现场。整个面试时长大概35分钟。

面试官问的面试题:

首先自我介绍,其次面试官问了对京东物流有什么了解;后问了之前的500强实习情况,并进一步问为什么不选择留在那家公司。再后来给出了一个情景问题,如果你和你的老板再某个方案上不一致你会怎么办;让我评价一下自己是属于外向型还是内向型,并询问这期间是否有转变;最后问是否有什么问题要提,楼主提了该岗位的职业发展与LET项目有什么区别。总体交流还是不错的,面试官也很nice,第二天接到了复试通知。复试尚未进行。

赞一下(1) 踩一下

2018-08-29 15:55:55 | 网上申请
面试过程:

电话面试,首先微信询问了为什么离职,我说是因为出差不能 接受,最好不要说其他体现自己缺点的原因。然后就让我等电话面试,当天下班7点就来电话开始面试了,面试一共就问了10个问题左右,当时聊的挺轻松的。

面试官问的面试题:

1. LinkedList和ArrayList的数据原理?
a) LinkedList:链表结构,增删快,读取慢。
b) ArrayList:数组结构,读取快,增删慢。
2. ArrayList的默认初始化长度,在add时的源码实现?
a) 默认长度10,add时如果满了会使用arrays.copy()到一个新建的长度为1.5倍的数组。
3. HashMap的底层实现,在高并发时会出现的问题,是否有序的,解释无序的原因?
a) Entry数组,hash碰撞时会形成链表。
b) 并发put时会在扩容时形成链表环,下一次get时内容溢出。
c) 无序,数组下标是根据key的hash值计算的,和放入顺序无关。
4. HashSet内部实现,如何实现的无重复?
a) 内部就是包了一个hashMap,使用key的hash值来存放到map里面,如果相同就覆盖。
5. String的内部结构?
a) Char数组,定义为final类不可变,每一次字符串拼接都是new stringBuilder.append(),每一次的replace/substring都是new String()。
6. 线程池的参数含义,线程池执行新情求的流程?
a) 流程:
i. 核心数未满就创建线程,即使有空闲的;
ii. 核心数满了队列未满,就放入队列;
iii. 队列满了,就新建线程直至最大数满;
iv. 最大数满了就根据拒绝处理策略处理;
b) corePollSize:核心线程数
c) maximumPoolSize:最大线程数
d) keepAliveTime:空闲线程保留时间
e) TimeUnit:保留时间单位
f) BlockingQueue:阻塞队列(有限队列ArrayBlockingQueue,无限队列LinkedBlockingQueue)
g) ThreadFactory:线程工厂
h) RejectedExeutionHandler:队列满时的拒绝处理策略
7. Runable和Callable区别?
a) 都是任务,后者可以有返回值或者抛出异常,使用get获取返回值时要阻塞当前线程。
8. volatile关键字的作用?
a) 防止指令重排,对所有线程的可见性;
b) 可见性是基于内容屏障实现的,保证每个线程总能拿到内存中的最新值。
9. 事务的理解,事务的传播性,传播级别,隔离性,隔离级别?
a) 事务分为编程式和声明式。编程式更加灵活,声明式方便管理。
b) 传播级别定义的是事务的控制范围,事务隔离级别定义的是事务在数据库读写方面的控制范围。
c) 传播级别:
i. REQUIRED:上下文已存在事务,则加入到事务中,若不存在,则创建事务
ii. NESTED:嵌套上下文中的事务,不存在就新建
iii. SUPPORTS:上下文已存在事务,则加入到事务中,若不存在,则不使用事务
iv. NOT_SUPPORTED:不支持事务,如果在事务中,就挂起直至逻辑完成后恢复
v. REQUIRES_NEW:每次都新建一个事务,挂起上下文的事务直至本事务完成后恢复
vi. MANDATORY:要求上下文必须存在事务,否则抛出异常
vii. NERVER:要求上下文不允许存在事务,否则抛出异常
d) 隔离级别:
i. Serializable:事务串行执行,影响性能
ii. Repeatable read:避免了不可重复读取,保证一个事务不会修改已经由另一个事务读取但未提交的数据
iii. Read committed:默认级别,保证一个事务不会读取已经由另一个事务读取但未提交的数据
iv. Read uncommitted:保证不会读取非法数据
10. SQL优化的例子?
a) 添加索引
i. 联合索引,谁在前谁可以单独用索引
ii. is null 和 is not null 不会使用索引
iii. 对列进行操作,如||连接,不会使用索引
iv. Like 语句%在前面不会使用索引
v. Order by 里面使用表达式不会使用索引
b) 将不等于<>替换为大于or小于
c) Select避免使用*号
d) 使用EXISTS代替IN
e) Sql语句全部大写,因为执行时会转换为大写
f) 读写分离和分库分表,可以用mysql的主从同步实现分库
11. SQL注入方式?如何防止?
a) 方式:比如登录页面用户名输入 ‘ or 1=1 --。
b) 防止:
i. 使用预编译PreparedStatement;
ii. 正则表达式过滤sql关键字和符号;
12. 乐观锁 悲观锁?
a) 乐观锁:借助版本号或时间戳,更新前获取旧值,更新时判断值为旧值才更新,否则回滚重试。
i. 使用场景:业务中无法和数据库保持连接的情况。或获取锁失败几率小的情况。
b) 悲观锁:一锁二查三更新。Mysql的select for update如果没用索引会全表扫描都锁上。
13. redis 可存储的数据结构,如何实现分布式锁?
a) String字符串,hash哈希,list列表,set集合,zset散列
b) 分布式锁用setnx命令,如果锁不存在则set进去,如果锁存在则不做操作
c) Setnx结合expire一起使用,保证过期自动解锁,防止死锁。但是可能出现expire命令时突然崩溃导致过期时间设置失败
d) 高版本redis使用set命令,一次性设置所有参数
jedis.set(lockKey, requestId, SET_IF_NOT_EXIST, SET_WITH_EXPIRE_TIME, expireTime);
e) 还可以使用lua脚本加eval命令实现加锁的原子操作(非原子性场景:解锁时锁突然过期,然后另一个客户端加锁成功,这时解锁就解到别人去了)
14. Autowire 和 Resource 区别?
a) Autowire是byType的,是spring提供的,设置required=false可以注入null,结合@Qualifier可以byName。
b) Resource是byName的,是jdk自带的。
i. 如果同时指定了name和type,则找不到就抛出异常;
ii. 如果指定了name,就只按name匹配,找不到抛出异常;
iii. 如果指定了type,就只按type匹配,找不到或找到多个抛出异常;
iv. 如果没有指定,先按name,找不到再按type;
15. Spring Boot、Spring MVC 和 Spring 有什么区别?
a) Spring:主要核心是IOC和AOP。
b) Spring MVC:用于web应用,借助mvc分层,核心是DispatcherServlet,ModleAndView,ViewResolver。
c) Spring Boot:只支持JDK8,简化大量配置,通过自动配置和一个启动类实现,默认是tomcat容器,可以通过pom配置修改为jetty。
(如省略了web.xml+servlet-mvc.xml+application.xml等配置文件)
16. 微服务?
a) 概念:根据业务拆分为多个服务,部署在不同服务器上,相互之间进行调用,使用dubbo或者springcloud;
b) Dubbo停止维护,只支持RPC,不支持分布式;
17. Spring Cloud 如何注册服务?断路器是什么?Eureka Server集群?
a) 在main方法加@EnableDisscoveryClient,就可以在服务发布时,将服务名+ip+port+域名注册到注册中心,一般通过zookeeper/Eureka注册。
b) 调用的时候通过ribbon和feign(整合了Ribbon和Hystrix):
i. Ribbon:@RibbonClient(value="服务名称"),要构建http请求;
ii. Feign:@FeignClient,以接口的方式调用,定义为抽象方法,注解写在方法上;
c) 断路器:处理多个请求等待响应的问题,有三种状态:
i. 完全打开:上一次请求没有响应,下一次请求就被拦截。
ii. 半开:短时间内检测到服务有恢复迹象,就会放过请求,如果能调用成功,则关闭断路器。
iii. 关闭:服务能正常调用。
d) Eureka Server集群:采用去中心化的架构,每一个节点都保存其他节点的副本,新建节点后,会从附近节点请求注册信息做初始化,并且以心跳检测所有节点是否正常运行,如果超时没有收到心跳就会注销该节点。如果丢失心跳过多,就会自我保护。
18. kafka?activeMQ?RabbitMQ?
a) Kafka:处理发布-订阅的模式,高吞吐量,大数据量,支持批量写入,消息写入磁盘,减少IO;
b) ActiveMQ:
c) RabbitMQ:支持miror queue,不支持批量写入
19. JVM内存区域划分,内存模型,JVM调优?
a) 内存区域:
i. 堆:所有线程共享,存放对象和数组。
ii. 栈:每个线程有独立的栈,存放局部变量,操作数栈,常量池的引用,方法返回地址(递归会导致栈内存溢出) 。
iii. 方法区:所有线程共享,存放类信息,静态变量,编译后的代码。
iv. 本地方法栈:用于调用native方法服务的。
v. 程序计数器:每个线程有独立的计数器,保存的当前执行的指令的地址,用于多线程中切换线程后恢复之前的执行位置。
b) 内存模型:
i. 堆(Heap space分为年轻代和老年代。年轻代分为Eden和两个Survivor区)
1. 年轻代是新对象的产生地方,主要位于Eden区,Eden区被用完就会触发Minor GC,存活的放入From Survivor区,FS区满后触发GC,存活的放入To Survivor区。多次GC后仍然存活的放入老年代。
2. 老年代存放长久存活的对象,满后触发Major GC,这会让所有线程停止直到回收完成。
ii. 永久代(Permanent Generation)(Java8中已经用metaspace完全替代了永久代。jvm参数-XX:PermSize 和 -XX:MaxPermSize选项会被忽略)
iii. Native Area(程序计数器+本地方法栈)
c) 内存调优:
i. -Xmx/Xms:最大/初始堆内存 -XX:MaxNewSize/NewSize:最大/初始年轻内存(通常为 Xmx 的 1/3 或 1/4)
ii. 回收算法:引用计数,标记清除(碎片问题),复制(空间问题),标记整理(最优)
20. 设计模式,使用场景?
a) 观察者模式:如android的各种listener监听,借助接口通知观察者做出响应
b) 装饰者模式:如IO流的各种包装new BufferedInputStream(new FileInputStream(new File()))
c) 适配器模式:如Java.util.Arrays#asList(),java.io.InputStreamReader(InputStream)
d) 桥接模式:减耦合,如Collections类中的sort(),JDBC数据库访问接口API

赞一下(11) 踩一下

2018-08-28 15:16:11 | 社会招聘
面试过程:

去了门口登记然后在大厅等候,就会有人接待问你有没有带上简历,然后在等大约5min就会有人带着电脑来面试你,整个流程面试很快,共三轮面试
开始面试需要自己在纸上写算法排序

面试官问的面试题:

一面
1. Spring和springMVC,Struts2的区别
2. SpringIOC,AOP
3. Hibernate和mybatis
4. String和StringBuffer去区别.(想问底层)
String的话2个字符拼接后重新生成的字符串,而stringbuffer的话是在后面加的,所以内存栈上空间浪费比较少。
5. Linux常用命令
6. Junit怎么进行测试,以及会不会配置等
7. SpringMVC的一个流程
8. Loadrunner怎么使用,怎么参数化,创建节点(不确定了)
9. loadrunner怎么轮询等等
10. TestNG的配置参数化等等
11. TestNG的注解
12. 优点(问2遍)


二面
1. 自我介绍
2. 为什么要选择做测试
3. 怎么将字符串转换为数字(怎么用代码实现的)
首先判断第一位是不是符号位 - + 然后进行下一位 res = res*10 +str的ascii码 -0的ascii码 然后继续下去。
4. 问题2怎么测试
5. 重写和覆盖
6. 链表找到中间的结点
简单点就遍历两遍,第一遍得到链表长度n,第二遍走n/2步就是中间节点。如果要求一次遍历的话,那就使用两个指针同时遍历,a指针每走2步b指针走一步。a指针遍历完后b指针就是中间节点。实际上两个方法时间代价一样的。
7. Git怎么使用的
8. 你在测试过程中遇到的bug
9. Postman测试的什么。
10. 优缺点

赞一下(1) 踩一下

2018-08-21 14:32:08 | 内部推荐
面试过程:

投京东是内推的产品方向的管培生,管培生这个职位大家应该也有所了解,竞争超强,而京东的管培生更是称为刘强东的御林军,只有一百个职位,可以想象竞争之激烈,内推后大概半个月收到了笔试测评,没有行测,有推理,数据分析,阅读理解,我感觉自己发挥的一般确过了笔试,笔试之后很快就收到了群面的通知,当时心里还是很激动的,但是由于准备的不够充分,匆匆的就跑到京东总部群面去了,12个人一组进行面试,个人感觉一起面试的小哥哥小姐姐都超强!面试题目是关于京东云的,结合京东的业务模式在云计算的五大特点中选择一个优先投入,讨论过程中没有人跳leader,timer,讨论的过程大家都很活跃,气氛很好,重要的是大佬们都很专业的样子,最后我们组应该是有四个人过了,当然没有我,我觉得这次面试自己出现的问题有这么几个,第一,态度不好很随意,抱着一种不重视蹭个经验的心理参加面试,第二,没有注意审题,导致开场7,8分钟才明白题目,第三,对互联网方面的知识掌握的不够,应该多看看36氪,人人都是产品经理,希望看到的小伙伴不要犯这样的错误。

面试官问的面试题:

京东云,结合京东的业务模式,在云计算的五大特点中讨论出一个大家认为最重要的进行优先开发运营,面试过程没有自我介绍环节,面试官说完规则后,直入主题

赞一下(7) 踩一下

还需查看京东商城 更多信息?

相关公司面试经验