专栏名称: 牛客网
程序员必备求职神器,刷真题,练算法,看面经,得内推。点击查看: http://www.nowcoder.com/
目录
相关文章推荐
机器学习研究组订阅  ·  马斯克20万块GPU炼出Grok-3,暴击D ... ·  22 小时前  
黄建同学  ·  收藏!李沐的论文阅读,用中文带我们精读AI/ ... ·  22 小时前  
优秀网页设计  ·  AI工具丨快至毫秒级!这款AI抠图神器,免费 ... ·  昨天  
希夏邦驴聊股  ·  20250216 继续AI ·  2 天前  
希夏邦驴聊股  ·  20250216 继续AI ·  2 天前  
爱可可-爱生活  ·  【[508星]LLMs-Zero-to-He ... ·  3 天前  
51好读  ›  专栏  ›  牛客网

乐视 Java 后台工程师,一面,二面,HR面

牛客网  · 简书  ·  · 2018-05-17 15:27

正文

上一次写了 美团面经 ,期间也面过几家,没什么营养,就不写了。

面试前准备,先查看面试要求,根据对应要求复习,在查看看准网与牛客网上真实乐视面经,准备其中内容。

今天面试乐视,感觉挺好的,约的是下午两点,我一点就到了,HR就接待了我,我也直接就面试了,很赞

介绍项目,我写的三个项目,就说了一个,也就是主要准备的这一个,慕课网的 Java秒杀系统方案优化 高性能高并发实战 ,个人感觉到处都是亮点,跟面试官聊了一会。

这个项目简历上是这样写的:

项目名称:以诺秒杀商城

项目技术:SpringBoot、MyBatis、JDK1.8、Druid、Redis、RabbitQM、JSR303、Log4j、Thymeleaf 、Bootstrap、jQuery、Ajax

开发工具:Eclipse、MySQL5.7、Tomcat7、Linux、Maven、Git、Navicat、JMeter

项目描述:该项目的侧重点主要就是秒杀这个功能,并对其做了高并发方面的优化,后台个人独立搭建,主要包含以下功能:用户登录、商品列表、商品详情、商品秒杀、订单详情

项目优化:分布式Session,页面静态化,对象缓存,RabbitMQ队列缓冲,异步下单,秒杀接口隐藏,数学公式验证码,接口防刷

项目地址:

https://github.com/Ethanim/seckill

首先有了这个项目,就能很加分,接着对该项目的一些内容进行了询问。

MD5 前台固定盐值,后台随机盐值,MD5 破解,准备一个超级大的库,存放常用 MD5 加密后的值,就可以比对加密后的密码,推导出加密前的密码。当两次 MD5 后,已经不算常用范围内。

项目中用到 RabbitMQ,发送处理过程?

生产者发送给消费者消息,报异常出错了,怎么保证消息正确发送?

消费者发给生产者确认内容,生产者确认,没确认,重新发送(没答上,面试官告诉的)

MyBaties 二级缓存?

(我答:只知道有一个缓存,第二个项目中,用到 Ehcache)

Git 分支命令?

(我答:master,具体都是用可视化工具)

Redis 集群?

(答:不会)

Redis 熟悉哪种数据类型?

(答:熟悉 String,但有五中数据类型,List,Hash,Set,zSet)

你以后还会学到更多的?

(这个以前看到过,确实支持别的类型)

Redis 一次取多个数据?

(答:mget)

不用这种呢?

(答:不会,面试官说了另一个种方式,没接触过,就没记住)

Redis 持久化?

(答:快照持久化,AOF,并解释了优缺点,详情可看

Redis 学习笔记

微信红包算法,保证每个人分的钱不会太多也不会太少?

(开始回答:一上来就随机分配好每个人的钱。该方法不能保证不会太多也不会太少)

如不用这种方式,每次请求计算一次?

(答:钱取到分,除以人数,获取每个人平均应分多少,在这基础上在随机加减一些,下个人在根据剩余钱与人数重新计算。之前看过红包算法,但是没认真思考,都忘的差不多了,还好没在深入问,问边界,随机加减怎么弄,就不好办了)

有多个群,发多个红包,这是一个接口,怎样保证不冲突?

(答:每一个红包 UUID 生成一个为一减,存在 Redis 中,对该键指向的红包进行操作)

一人抢到红包,但还没把最新值更新回去,下一个人取钱会不正确,怎么处理?

(答:虽然 Redis 支持事物不强,但也可以用事物)

如果不用这种方式呢?

(答:利用 RabbitMQ,排队,面试官说,也可以,面试官应该另有算法)

Linux Sell 命令?

(开始以为写那种 Sell 脚本,答不会,后来聊到不是,面试官解释了下,Sell 脚本很丰富,但每人记,里面放写 Linux 命令就行)

Linux Windows 查看端口被占用?

(没答上,百度后:netstat -tunlp,查看所有端口占用情况 netstat -tunlp|grep 3306,查看 3306 端口占用情况)

Linux 查看内存、硬盘剩余容量?

(答:top,不准确,百度后:查看内存使用情况:free -f,查看硬盘使用情况:df -h)

TCP UDP 却别,效率?

(答的一般,具体百度吧)

HTTP 怎么保证消息传输的准确性?

(答:三次握手)

HTTP HTTPS SSL证书?

(答的一般,具体百度吧)

HTTP 是基于 TCP、UDP 哪个上的?

(应该是这题,面试官问给了我一个两个选项的选择题,但我确实不知道,就说不知道,面试官告诉是基于 HTTP 是 TCP 的)

GET POST 却别?

(很基础的题)

重载,重写区别?

(很基础的题)

进程线程区别?

(答:一个操作系统有多个进程,一个进程有多个线程,JVM就是一个进程,其中最少有一个线程?线程内存共享,进程内存不共享)

了解堆栈吗?

(我把 JVM 内存模型的 5 块区域都说了,再说堆栈,这样比较加分吧)

问锁?

(我说,Lock,不会,就没继续往下问了,遇到不会到说不会就好,不转到下一个问题,不会装会,强行解释,反而不好)

线程创建有哪几种方式?

(答:三种,继承 Thread 类,实现 Runnable 接口,线程池,推荐使用实现 Runnable 接口和线程池,由于 Java 是单继承,实现 Runnable 接口后还可以继承其他类,线程池的四种也都说了)

给你时间学习 Golang,基础语法,不算框架多长时间?

(答:一个星期。个人感觉还是可以达到的,因为我还学过 PHP)

是否接受加班?团队其他人都完成了,就剩你没完成,是否自愿加班?

(答:接受加班,尽量避免这种情况)

问题卡了好几天,怎么办?

(答:应该请教同事)

同事也不会,比如 RabbitMQ,就你自己做,自己会,怎么办?

(答:技术群讨论。面试官主要就是想问你是否接受加班,愿意为公司付出,个人打算进IT行业时,就有了心里准备,感觉加班很正常,都是小事)







请到「今天看啥」查看全文