京东测开一面面经2022.9.6

我投的京东科技,结果是京东物流面的我,base北京大兴
真的答的很差,磕磕巴巴的,好多问题一问3不知,面试官很有耐心,一个劲的引导我

1、自我介绍
2、在线编程,输出1到100的素数,我写了一个最简单的,面试官让我优化一下,我优化不出来·····
自己总结了一下:
  1. 常规方法(最低效)
思路说明:从2开始,一旦出现能整除的,就表示不是素数,如果从2开始到本身之前都没有整除的,说明就是素数,这一解法从数组本身的定义出发的。
缺点:当数字较大时,循环次数太多,所以不建议使用。
 
 
	public static void main(String[] args) {
		    for(int i=1;i<=100;i++){
	            for(int j=2;j<i;j++){
		            if (i%j==0){
		                break;
		            }
		        }
		        if(i==j){
		            System.out.print(i + "、");
		        }
}
}    
		       
2、稍微高效的方法(x/2)
思路说明:
将循环范围定在2到指定数的二分之一(原理:任何一个数的最大因数都小于等于它的二分之一,所以只要从2查找到x/2,如果都没有被整除就是素数,因为到这里已经查找到他的最大因数了。
例如24的最大因数为12,100的最大因数为50.)这样就会减少循环次数。
缺点:效率提高了不少,但也并不是最优解。
public static void main(String[] args) {		
		    for(int i=1;i<=100;i++){
	            for(int j=2;j<=i/2;j++){
		            if (i%j==0){
		                break;
		            }
		        }
		        if(j>i/2){
		            System.out.print(i + "、");
		            
		        }
		    }
	
	}
3、高效方法(根号x)
思路说明:
其实只要把循环一直从2尝试到根号x就可以,不难发现,一个数的两个因数中,毕然有一个小于等于根号x,一个大于等于根号x,例如100的因数有:1和100,2和50,4和25,5和20,10和10.所以只要从2尝试到根号x,如果都没有被整除,就是素数,否则就不是。和第二种方法类似,但是效率相对更高,推荐使用。
public static void main(String[] args) {		
		    for(int i=1;i<=100;i++){
	            for(int j=2;j<=Math.sqrt(i);j++){
		            if (i%j==0){
		                break;
		            }
		        }
		        if(j>Math.sqrt(i)){
		            System.out.print(i + "、");
		            
		        }
		    }
	
	}

3、索引
4、哪些情况下索引不能升性能
5、索引的种类
主键索引:数据列不允许重复,不能为NULL,一个表只能有一个主键索引 
组合索引:由多个列值组成的索引,列值的组合必须唯一。
唯一索引:数据列不允许重复,可以为NULL,索引列的值必须唯一的,如果是组合索引,则列值的组合必须唯一。 
全文索引:对文本的内容进行搜索。
6、索引在什么情况下会失效
7、什么是redis
8、如何保证Redis和MySQL 的数据一致性
我说:先更新数据库后删除缓存这种方案用的多些  (旁路缓存模式)。面试官说,这只是一种场景,不同的场景有不同的方式
9、计算机的5层协议(面试官说我背的挺熟,这种问题还是说的灵活一点比较好)
10、网络中二层转发和三层转发的区别
1.数据转发依靠的关键字不同,二层转发主要依靠MAC地址,而三层转发主要依靠IP地址。
2.数据交换的范围不同,二层交换指在同一网段内的通信,三层交换指跨网段的通信。
3.在三层转发的过程中,还要进行二层的封装。也就是说,在三层转发过程中二层帧头中的(源、目的)MAC地址是要改变的。但是IP数据报中的源IP和目的IP地址是不会改变的
11、一个局域网之间,两台主机相互通信,是二层转发还是三层转发?(真的不会)
面试官解答:一个交换机内部属于二层转发,交换机之间属于三层转发
12、TCP 3次握手和4次挥手
13、为什么是3次和4次呢
14、tcp和udp的区别
15、http协议的get和post区别
16、get和post本质区别
GET产生一个TCP数据包;POST产生两个TCP数据包。
	
  • 对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);
  • 而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。。
也就是说,GET只需要汽车跑一趟就把货送到了,而POST得跑两趟,第一趟,先去和服务器打个招呼“嗨,我等下要送一批货来,你们打开门迎接我”,然后再回头把货送过去。
但是GET与POST都有自己的语义,不能随便混用。

后面的问题不太想回忆了,噩梦,主要自己真的比较差
17、json和表单的区别
	

form格式是一种“键值对”的数据格式,比如:

a=1&b=2&c=3

而json格式则类似这样:

{"a":1,"b":2,"c":3}

表单传递的数据到后台是key-value的形式,json提交之后,后台收到的是字符串,需要注解来解析。
18、在黑盒测试的角度如何提高抢票成功率(真不会,面试管特别耐心的引导我,我还是不会)


#京东##京东面经##京东物流##面经##23届秋招笔面经#
全部评论
m
1 回复 分享
发布于 2022-10-13 19:48 北京
感谢楼主京东面经分享,期待更新
1 回复 分享
发布于 2022-09-07 14:04 江苏
同一个面试官。。一模一样。。。
点赞 回复 分享
发布于 2022-11-06 12:48 福建
m
点赞 回复 分享
发布于 2022-10-13 20:43 北京
请问二面主要问了什么呢
点赞 回复 分享
发布于 2022-10-10 16:34 天津
楼主接到二面通知了吗?
点赞 回复 分享
发布于 2022-09-16 00:51 湖北
楼主有消息了嘛,我投的是京东零售然后被京东物流拉过去面试了,感觉很怪
点赞 回复 分享
发布于 2022-09-12 21:53 天津
楼主的测试方面知识,是怎么学的
点赞 回复 分享
发布于 2022-09-08 20:37 黑龙江
是电话面吗
点赞 回复 分享
发布于 2022-09-08 09:40 陕西

相关推荐

全程50+min1.自我介绍2.先做题lc56.合并区间,最开心的一集3.在本地ide上用的AI代码助手是哪家的,你还用过哪些相关产品,相比之下有什么优点(我用的是通义灵码,狠狠地舔了一波)4.先拷打一下项目(我做的是尚硅谷的乐尚代驾),问的问题没有那么深入&nbsp;&nbsp;&nbsp;&nbsp;a)司机抢单分布式锁的实现?&nbsp;&nbsp;&nbsp;&nbsp;b)如果司机取消抢到的订单,整体业务会有什么变化?&nbsp;&nbsp;&nbsp;&nbsp;c)怎么使用drools编写规则的,为什么要用(大致是这个意思)?&nbsp;&nbsp;&nbsp;&nbsp;d)分布式事务不用Seata的@GlobalTransactional注解的话,你会如何实现?5.Java基础&nbsp;&nbsp;&nbsp;a)反射为什么要比普通调用速度慢?(没答出来)&nbsp;&nbsp;&nbsp;&nbsp;b)枚举类是可继承的吗?为什么?(忘记了,我跟面试官说我猜是用final修饰的)&nbsp;&nbsp;&nbsp;&nbsp;c)创建对象的方法有哪些?&nbsp;&nbsp;&nbsp;&nbsp;d)ConcurrentHashMap是线程安全的吗,原理是什么&nbsp;&nbsp;&nbsp;&nbsp;e)介绍线程池的corePoolSize,&nbsp;maximumPoolSize,&nbsp;workQueue以及他们之间如何相互作用的?&nbsp;&nbsp;&nbsp;&nbsp;f)两个线程同时执行++i操作,为什么会发生问题?&nbsp;&nbsp;&nbsp;&nbsp;g)两个线程同时对一个volatile修饰的变量进行修改,会发生这种问题吗&nbsp;&nbsp;&nbsp;&nbsp;h)Synchronized和Reentrantlock的区别?&nbsp;&nbsp;&nbsp;&nbsp;i)ThreadLocal原理?&nbsp;&nbsp;&nbsp;&nbsp;j)讲一下强引用和弱引用?&nbsp;&nbsp;&nbsp;&nbsp;k)用过哪些多线程编程的相关类?(没想起来,只答了CompletableFuture还有相关使用)6.Redis&nbsp;&nbsp;&nbsp;&nbsp;a)关于磁盘IO(我说了持久化机制,应该……可以吧)&nbsp;&nbsp;&nbsp;&nbsp;b)Hash数据结构的rehash,主要细问了渐进式hash。&nbsp;&nbsp;&nbsp;&nbsp;c)Redis是单线程吗?为什么会有这么高的性能?7.Mysql&nbsp;&nbsp;&nbsp;&nbsp;a)Mysql使用的存储引擎中什么是支持事务的?&nbsp;&nbsp;&nbsp;&nbsp;b)InnoDB用的什么数据结构?B+树相比B树的优点是什么?&nbsp;&nbsp;&nbsp;&nbsp;c)可重复读和读已提交是如何实现的?&nbsp;&nbsp;&nbsp;&nbsp;d)Undolog链什么时候会删除?(没有关注过这个,没答出来)&nbsp;&nbsp;&nbsp;&nbsp;e)索引相关,学生表查询name和score,你会如何设计索引?8.Spring&nbsp;&nbsp;&nbsp;&nbsp;a)Spring&nbsp;AOP原理?&nbsp;&nbsp;&nbsp;&nbsp;b)Transactional注解的原理是什么?&nbsp;&nbsp;&nbsp;&nbsp;c)关于Bean的作用域相关的问题,使用什么注解来设置作用域?(真忘了)&nbsp;&nbsp;&nbsp;&nbsp;d)Spring是如何解决循环依赖的?大致就记得这么多……目前面试表现最好的一次,也是八股问的最多的一次
阿里巴巴一面413人在聊 查看30道真题和解析
点赞 评论 收藏
分享
06-03 12:14
已编辑
门头沟学院 golang
查看15道真题和解析
点赞 评论 收藏
分享
评论
8
84
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务