百度,阿里,搜狐公司社招面试题及总结
阿里、百度、搜狐等公司社招面试记录与总结
从别人那里找来的他被问到的问题,在这里做整理总结。
一、面试遇到的问题
1.百度
面试官自带电脑,整个面试过程都在记录,首先详细询问了最近一份工作项目的架构和工作内容,
面试主要围绕工作中用到的组件和中间件技术来扩展,考察掌握程度。
MySQL InnoDB存储的文件结构
http://blog.csdn.net/happy_wu/article/details/78736196
索引树是如何维护的?
http://blog.csdn.net/happy_wu/article/details/78736510
数据库自增主键可能的问题
http://blog.csdn.net/poisions/article/details/51538551
Redis的并发竞争问题如何解决
http://blog.csdn.net/happy_wu/article/details/78736641
了解Redis事务的CAS操作吗
https://www.cnblogs.com/martinzhang/p/3415204.html
分析线程池的实现原理和线程的调度过程
http://blog.csdn.net/hsuxu/article/details/8985931
动态代理的几种方式
http://blog.csdn.net/heyutao007/article/details/49738887
Spring AOP与IOC的实现(回答源码即可)
为什么CGlib方式可以对接口实现代理?
JDK实现动态代理需要实现类通过接口定义业务方法,对于没有接口的类,如何实现动态代理呢,这就需要CGLib了。CGLib采用了非常底层的字节码技术,其原理是通过字节码技术为一个类创建子类,并在子类中采用方法拦截的技术拦截所有父类方法的调用,顺势织入横切逻辑。JDK动态代理与CGLib动态代理均是实现Spring AOP的基础。
JDK动态代理的原理是根据定义好的规则,用传入的接口创建一个新类,这就是为什么采用动态代理时为什么只能用接口引用指向代理,而不能用传入的类引用执行动态类。
CGLib采用的是用创建一个继承实现类的子类,用asm库动态修改子类的代码来实现的,所以可以用传入的类引用执行代理类
CGLib创建的动态代理对象性能比JDK创建的动态代理对象的性能高不少,但是CGLib在创建代理对象时所花费的时间却比JDK多得多,所以对于单例的对象,因为无需频繁创建对象,用CGLib合适,反之,使用JDK方式要更为合适一些。同时,由于CGLib由于是采用动态创建子类的方法,对于final方法,无法进行代理
RMI(远程方法调用)与代理模式11111111111 2222222222222
Dubbo的底层实现原理和机制,
描述一个服务从发布到被消费的详细过程
算法方面考察了一个简单的数组就地去重问题,用丢弃数组尾部元素的方式实现了。
百度金融的面试安排在了周六,最近应该在各种扩张,各个招聘网站随处可见招聘启事。
面试官很赞,态度认真,有些问题没有思路会给你提示,交流的不错。
面试中的问题:
分布式系统怎么做服务治理11111 22222222
接口的幂等性的概念1111 2222
Maven出现版本冲突如何解决
JVM垃圾回收机制,何时触发MinorGC等操作
堆内存分为 年轻代 老年代 和持久代
年轻代 又分为 eden 区和 survivor 区
这两个区如果满了 触发的就是 minor gc
新生代和老生代的内存回收策略
Eden和Survivor的比例分配等
Synchronized和Lock的区别
类别 | synchronized | Lock |
---|---|---|
存在层次 | Java的关键字,在jvm层面上 | 是一个类 |
锁的释放 | 1、以获取锁的线程执行完同步代码,释放锁 2、线程执行发生异常,jvm会让线程释放锁 | 在finally中必须释放锁,不然容易造成线程死锁 |
锁的获取 | 假设A线程获得锁,B线程等待。如果A线程阻塞,B线程会一直等待 | 分情况而定,Lock有多个锁获取的方式,具体下面会说道,大致就是可以尝试获得锁,线程可以不用一直等待 |
锁状态 | 无法判断 | 可以判断 |
锁类型 | 可重入 不可中断 非公平 | 可重入 可判断 可公平(两者皆可) |
性能 | 少量同步 | 大量同步 |
两次面试,感觉百度的流程比较严格,面试官挺不错的,简单可信赖,虽然工作中一般都用谷歌,
想起一个段子,哈哈。
有次面百度,我提到了一个比赛,面试官很感兴趣,想搜一下,
于是先用百度搜了一下关键字,首屏没有找到,面试官面不改色,熟练的打开了谷歌输入关键字,发现第一个就是官方网站。
2.阿里巴巴
内推收到了阿里菜鸟和阿里云安全部门的面试,后来参加了阿里云的面试。
阿里的面试安排的很快,几轮面试都是电面。听朋友说阿里五轮面试,四轮技术一轮HR,技术面试是部门的几个同事交叉面试,也有了了解。
一面总体上还是围绕项目架构、Java基础、JVM、并发编程、数据库操作、中间件技术和Dubbo服务治理框架等展开,
可能因为是云安全部门,有一半时间在考察JVM,还提问了一些编译优化的知识,
一面结束后很快安排了二面,相对一面,二面的问题更深入,问题比较刨根问底,更加注重对一些技术细节的理解和把握。
比如数据库操作,面试官会详细的问你数据库插入和删除一条数据的过程在底层是如何执行的,项目里配置了读写分离,也会比较深入的就实现方法和底层逻辑展开讨论。11111111111 222222222222
一些值得记录的问题:
JVM内存分代,
Java 8的内存分代改进
深入分析了Classloader,双亲委派机制
JVM的编译优化
对Java内存模型的理解,以及其在并发中的应用
指令重排序,内存栅栏等
Hash冲突的解决问题
HashMap的并发问题
了解LinkedHashMap的应用吗
在工作中遇到过哪些设计模式,是如何应用的
两次面试,阿里给我留下的印象很好,面试官都是大牛,阿里的岗位大都在杭州,面试结束特意关注了一下那边的生活成本,
如果拿到阿里和网易等几家互联网公司的高薪,买房和生活的确比北京要轻松很多 。
3.优酷土豆
优酷的面试都是二对一,每轮面试两个面试官,
一面比较顺利,主要是Java基础,Spring原理,Java NIO,并发和集合框架等,
可能是因为视频网站,优酷考察网络原理的知识多,比如TCP/IP协议、长连接与短连接等。
一面提到了自己可能会在下半年学习大数据与机器学习相关的知识,二面就问了很多海量数据的问题。
TCP/IP协议
长连接与短连接
mapreduce过程
多路归并的时间复杂度
海量url去重类问题
Java NIO使用
倒排索引的原理
对分词技术的了解
面试中给了一个具体场景,考察对MapReduce过程的理解,比如Map阶段和Reduce阶段是如何进行的等,
Reduce阶段面试官希望分析给出一个多路归并的时间复杂度,用外排序的知识简单分析了一下,回答的不太好。
回来以后搜索了胜者树和败者树的优化,发现这里面的内容还挺多,深刻体会到有些知识点如果平时掌握的不够全面深刻,很难信手拈来。
4.搜狐新闻
搜狐最近应该是没有招聘计划,面试等待时间比较长。
做了笔试题,一面是个和我年纪相仿的面试官,针对笔试和简历提问了一些基础问题,聊得挺投机,
二面技术经理就比较偏架构和中间件的应用,提问了项目,主要考察了服务治理和消息队列等中间件使用的问题,
消息中间件如何解决消息丢失问题
Dubbo的服务请求失败怎么处理
重连机制会不会造成错误
对分布式事务的理解
深入分析几个设计模式
面试最后提问了一个不定长字符串转为定长字符串的问题,
刚刚面过优酷,这个简单的问题被我想复杂了,没有Get到面试官的点,考虑了唯一性,性能等,扯了一大堆。
也提醒一下大家,面试过程中要保持清醒,不要有思维定式,除非是底层研发岗位,社招对算法的考察不会特别难,用正常的思路去解决就可以。
5.58赶集
58总部在798附近,全天有班车可以过去。总体上,感觉面试官的问题非常接地气,
三轮技术面,大部分是实际场景的算法和系统设计类问题。
HTTP请求的报文格式
Spring的事务实现原理
实际场景问题,大量用户数据如何在内存中排序和去重
缓存机器增删如何对系统影响最小,一致性哈希的实现
Redis持久化的几种方式
Redis的缓存失效策略
实际场景问题解决,典型的TOP K问题
实际场景问题,海量登录日志如何排序和处理
SQL操作,主要是索引和聚合函数的应用
三面面试官提问了一些优点和缺点的自我评价类问题,简单交流以后对我给出了一些中肯的建议,非常感谢。
6.国美在线
国美在线面试最开始是部门经理沟通,后来做了一份笔试题,
题目质量不错,主要考察Java基础,数据库,设计模式以及数据结构,要求写出B-Tree的节点结构,
算法题目是一道等概率抽奖的题目,用蓄水池抽样算法解决了。
SQL语句编写
MySQL的几种优化
Spring行级锁
Spring衍生的相关其他组件整理
RMI的几种协议和实现框架
BTree相关的操作
数据库锁表的相关处理
考察跳台阶问题
和面试官的交流比较轻松,面试官提示我要加强数据库操作的掌握,另外面试过程中询问了一些工作中用到框架和组件的版本等细节问题,平时没太关注,
后来思考了一下,对开源组件的应用,版本的管理很重要,不注意可能会发生一些诡异的问题。
7.去哪儿网,口袋购物等公司
除了上面的公司,还参加过去哪儿网,口袋购物,链家等几家公司的面试。
去哪儿网中规中矩,口袋购物的工作环境非常不错。链家网最近有新浪的鸟哥加入任技术总监,在IT圈子里挺火,面试了链家旗下的两个租房部门,技术氛围不错,前景看好,很值得去的一家公司。
几家公司的模式和问题都类似,注重对基础和编程能力的考察,以及对分布式系统设计和架构的理解。
值得一提的是一家创业公司的面试,过程十分简单粗暴。
没有自我介绍,面试官看完简历就在白板上提了一个多线程调度问题,递过来MAC就开始敲代码+_+
写完以后我表示这题目意义不大,问了Redis,要求十五分钟实现一个LRUCache,再次现场写代码。
写到一半面试官看没问题就打断了,问对公司有什么想了解的,等了一会让我回去了,就这么被Pass,创业公司效率果然高(此处/dog脸)。
面试中要保持清醒,比如被问到十万个ip段查找这个问题,首先是一个典型的查找问题,
明确了这个,就可以针对性的选择相关的算法实现,如二分查找、二叉查找树等。
推荐画图表达的方式。
做过的项目架构,各种框架和中间件的设计实现,通过画图的方式都可以很好的阐述,
可以随身带着纸和笔,面试本来就是一次很好的学习过程,一些问题也可以记录下来。
一般来说,面试过程类似一个寻路算法,交流过程中如果提到了面试官感兴趣的某一点,
就会就这个点展开,然后一直提出问题到你不能回答为止,或者你特别牛在这个领域直接秒杀面试官,这样一条路线走通,再换下一条路线。
二、程序员如何用正确的姿势提高技术水平
相比程序员,我更喜欢攻城狮这个名字,
程序员在不了解这个行业的人眼里已经被贴上了各种标签,诸如各种宅,不修边幅,
百度,阿里,搜狐公司社招面试题及总结相关推荐
- 最新百度 阿里 华为 腾讯 谷歌面试笔试题及解析
最新百度 阿里 华为 腾讯 谷歌面试笔试题及解析 8月15日,百度2道面试题: 1.来自<编程之美>的概率题:一个桶里面有白球.黑球各100个,现在按下述规则取球:的 i .每次从通里面拿 ...
- 不会吧不会吧?价值“百万”的社招面试题惨遭泄露:猛补了这个,真香...
金九银十面试季结束,很多朋友反映:简历投了那么多,一个面试邀约都没有,有的是面了一两次就挂了,怎么办?是我的简历做的不好吗?还是我的技能不过关,我就是一个菜鸡?甚至有朋友因此信心大受打击,一蹶不振. ...
- 第一次社招笔试题回顾(全基础题)
第一次社招笔试题回顾 在上个月裸辞之后,休息了近一个月,最近开始找工作,发现很多基础自己忘了挺多的.从校招过后,到现在,将近1年多没有怎么做过算法题,Eclipse,Idea这几个都用的比较少. 一家 ...
- 邮储社招Java笔试题_2019年及历年中国邮政储蓄银行社招笔试题和参考答案6套
2019年及历年中国邮政储蓄银行社招笔试题和参考答案6套 目录: 1.2016年中国邮政储蓄银行社会招聘笔试题和参考答案 2.2019年5月中国邮政储蓄银行社会招聘笔试题和参考答案 3.2019年中国 ...
- 小米java面试题_小米java社招面试题分享,面经(一面二面)
下面给大家带来的是小米java社招面试题(面经)的相关分享,主要包括了一面二面的面试题,准备小米java一面二面的小伙伴可以来了解一下. 注:面试者是跨行做后台,没有什么项目经验,所以,面试者问的东西 ...
- 小米java社招面试题分享,面经(一面二面)
下面给大家带来的是小米java社招面试题(面经)的相关分享,主要包括了一面二面的面试题,准备小米java一面二面的小伙伴可以来了解一下. 注:面试者是跨行做后台,没有什么项目经验,所以,面试者问的东西 ...
- 阿里、百度、搜狐等公司社招面试记录与总结(转)
这个跳槽季大概面试了近十家公司,也拿到了几个Offer,现在面试告一段落,简单总结下面经, 我现在主要的方向是Java服务端开发,把遇到的问题和大家分享一下,也谈谈关于技术人员如何有方向的提高自己,做 ...
- [转]国内各大互联网公司相关技术站点2.0版 (集合腾讯、阿里、百度、搜狐、新浪、360等共49个)...
利用闲暇时间整理了一份国内各大互联网公司的相关技术站点,希望能够对大家有所帮助,也欢迎各位帮忙补充. 腾讯系列(13) 阿里系列(18) 百度系列(3) 搜狐系列(3) 新浪系列(2) 36 ...
- 阿里头条快手百度美团等大厂JAVA社招面经分享(纯干货)
本篇文章所述的重点包括如下内容: 社招与校招面试的区别 第一轮考察知识点与方向 第二轮考察知识点与方向 第三轮/第四轮考察方向 HRBP面试考察内容 社招面试小技巧 日常学习资源分享 社招与校招面试的 ...
- 2022最新百度、头条等公司Android面试题目,2022年安卓社招面试题精选
开头 每到"金三银四"的季节,总人很多人去寻找名叫"面经"一样的东西,其实就是一个个具体的题目,然后临阵磨枪,去"背"答案,如果一直是这样的 ...
最新文章
- 二维数组的查找 java_查找二维数组java的总和
- 面向微软合作伙伴和客户的Azure应用托管正式可用
- C++ 函数重载的实现原理
- 为什么selenium定位不到元素
- 7.spring之Bean的作用域
- 如何快速提升自己的Java 技术?
- 苹果系统 如何快速访问服务器,mac下的finder怎么使用技巧 苹果系统如何快速打开Finder...
- Mockito开发指南
- iOS Healthkit 使用探索分析
- 社群运营中KOL的作用
- python为什么胶水语言_Python真的什么都可以做,胶水语言可不是白叫的
- JAVA的发展方向以及前辈的一些看法
- 网站关键词怎么合理布局提升网站排名
- 易經大意(1) 三和 韓長庚 著24
- 麻将牌识别算法AI也能打麻将了只赢钱
- 中关村被骗记(维权全过程)
- GDKOI-PJ-2021 Day1总结
- 惠普android开发,惠普官方宣布不再采用Android:将开发PalmPad
- 摄像机Rtsp地址格式大全
- SDUT_人活着系列