20届大厂收割之路

作者:俊雪恋

博客:junxuelian.cn

本文来自读者投稿,主要内容为大厂收割面经,如果你也在找工作的路上,不妨参考参考~。

头条
一面


  1. 自我介绍

  2. 项目介绍

  3. 平时使用开的环境

  4. redis获取一个hash的长度

  5. 用redis做过控频吗

  6. 能接受转语言吗

  7. http状态码301,302

  8. 手写快排


头条
二面


网络部分:

  1.     DHCP如何实现分配ip的

  2.     发现阶段(DHCP客户端在网络中广播发送DHCP DISCOVER请求报文,发现DHCP服务器,请求IP地址租约)、提供阶段(DHCP服务器通过DHCP OFFER报文向DHCP客户端提供IP地址预分配)、选择阶段(DHCP客户端通过DHCP REQUEST报文确认选择第一个DHCP服务器为它提供IP地址自动分配服务)和确认阶段(被选择的DHCP服务器通过DHCP ACK报文把在DHCP OFFER报文中准备的IP地址租约给对应DHCP客户端)。

      

  3.     OSI七层模型,每层都说下自己的理解和知道的,说的越多越好

  4.     TCP和UDP的区别,TCP如何保证可靠传输的

  5.     说一下常使用的协议及其对应的端口


Linux部分:

  1.     I/O多路复用

  2.     进程间如何通信

  3.     动态链接和静态链接的区别

  4.     进程的内存分布

  5.     如何查找一个进程打开所有的文件

  6.     设计模式:

  7.     工厂设计模式

  8.     单例设计模式

  9.     讲一下,说一下应用的场景。

 



网易
一面


自我介绍

Hashmap


  1. 两道简单算法

      1、求连续子数组的最大和问题

      2、走格子,从一个出发点到终点,只能向上和向右有多少种走法,连障碍点都没有

      

  2. Java如何进行垃圾回收的

  3. 你用过哪些设计模式?

       回答:单例,观察者,工厂,责任链,适配器

  4. JDK中哪些实现了单例模式?

    java.lang.reflect.Proxy类,java.lang.Runtime类,线程池。

两道设计题

  1. 第一道设计题:

    比如我有个电商平台,做每日订单的异常检测,服务端代码应该写。、

  2. 第二道设计题:

 比如窝网易邮箱春节要做一个活动,我网易邮箱用户量有3.4亿吧!但是我只允许8千万人参加,最后在8千万人里面产生一二三等奖,有一台物理机和一台数据库服务器。你怎么来设计。 

 

网易
二面


  1. 为什么会有内核态,保护模式你知道吗?

  2. 文件是怎么在磁盘上存储的?

  3. 有了进程为何还要线程呢,不同进程和线程他们之间有什么不同。

  4. 进程是资源管理的最小单位,线程是程序执行的最小单位。在操作系统设计上,从进程演化出线程,最主要的目的就是更好的支持SMP以及减小(进程/线程)上下文切换开销。

    dhcp数据包格式及其原理

    innodb聚集索引b+树叶子节点和磁盘什么顺序相同。

    阿里
    一面

1、自我介绍

2、全程怼项目,问的及其细,包括你为什么选择这种方案来实现,具体怎么存储怎么做的,相当细,遇到这类面试官,项目不够熟,就会翻车了。

3、redis原子操作怎么用比较好

4、消息队列会吗?

 

阿里
二面



操作系统模块:

    1、说一下并行和并发的区别

    2、你知道进程吗?有进程为何还有线程?

    3、操作系统是如何调度进程呢的

    4、比如linux下我打开一个文件调用read函数,整个过程说的越

    5、同步异步阻塞非阻塞IO详细越好。

    其他记不起来了。其实这些扩展开来就能说很多,就包含文件系统,进程管理和调度,就差内存管理机制了,我自己说了,虚地址保护模式。

 

网络模块:

    TCP报文格式

    TCP和UDP

    拥塞控制

    超时重传

    三次握手

    滑动窗口

    常见协议的端口号

 

数据库模块:

    索引数据结构

    索引优化

    存储引擎

    事务(spring框架如何实现事务的呢)

    分库分表

 

Java模块:

    hashmap

    Arraylist和linkedlist

    voliate

    线程池,如何根据CPU的核数来设计线程大小,如果是计算机密集型的呢,如果是IO密集型的呢?

    countdownlatch和CyclicBarrier底层实现原理

    线程状态以及API怎么操作会发生这种转换

 

JVM:

    他说只问三个问题,

    1、垃圾什么时候被回收

    2、是怎么回收的呢

    3、忘了。。。。

 

分布式:

    1、redis

    2、分布式事务解决,你知道我们阿里巴巴是怎么做的吗?

    3、消息队列

    4、分库分表

    5、CAP

    暂时只能记起这么多

    明天醒了再补,时长1小时17分钟。你打住我知道你的掌握程度了期间这句话说了很遍。我知道了,你不用说的这么详细。我们不在这个上面纠缠了,下一个。

阿里
三面



  1. 自我介绍

  2. hashmap

  3. 红黑树

  4. 微信附件人这个功能怎么实现的

  5. String中hashcode怎么实现的

  6. 项目问的很多

  7. 就聊了20分钟

 

 

 

 

小米
一面




小米一面(过,offer没拿到岗时间)

  1. 自我介绍

  2. 项目介绍

  3. 类加载机制

  4. 垃圾回收算法

  5. G1垃圾回收器

  6. hashmap,hashtable,concurrenthashmap(JDK1.8)

  7. BIO和NIO

  8. 三次握手

  9. 流式计算

  10. 悲观锁,乐观锁

  11. spring bean生命周期

  12. 进程和线程

  13. linux下排查某个死循环的线程

  14. Arraylist和linkedlist

  15. 解决hash冲突的方法

  16. 跳跃表

 

 

 

小米
二面




  1. 自我介绍

  2. 项目

  3. 如果你的项目出现了内存泄露,怎么监控这个问题呢

  4. 一致性哈希算法

  5. 两个单链表相交,找到交点共享文档手写代码

  6. nio和bio,bio底层怎么实现的呢

  7. select poll epoll区别

  8. redis为何效率高

  9. 熟悉开源消息队列吗?讲一下

  10. ngix+redis集群+session共享或者同步

  11. 问下你有面试其他公司吗?都有哪些offer呢

  12. 上午被他们看完博客,说一面太简单了。

  13. 明明面了一个多小时,记不起来问题了(记起来了再补)

  14. 反正怼我的目的没有达到~~。

 

 

 

搜狐
一面
offer
  1. 项目问得很细。

  2. 自旋锁

  3. 标记清除和标记整理的区别和优缺点,为何标记整理会发生stoptheworld

  4. mysql索引,最左匹配原则,!=为何会索引失效

  5. 写sql举例最左匹配原则

  6. 解释下乐观锁和悲观锁

  7. 信纸上写反转单链表

  8. 你是找实习的,怎么不早说呢,你过了。

  9. 其他记不起了。

 

ps:感觉Java基础知识很少被问到了,上来都是细问项目,问的相当细,项目如果有漏洞就会对你很怀疑,想着怎么更好的考察你。尤其18参加补招,因为后来面试官给我解释,怕是我是专门应对面试的,准备了很多。

 

 

 

商汤
一面


  1. 让你设计一个cache如何设计

  2. redis过期策略是怎么实现的呢

  3. mysql存储引擎,更适合做哪种应用,

  4. 哪些情况下索引会失效

  5. 建立索引需要注意哪些情况

  6. 垃圾回收

  7. CAS

  8. 新生代对象如何迁移到老年代对象

  9. G1

  10. ReentrantLock实现原理

  11. spring aop

  12. hashmap

  13. concurrenthashmap

  14. 面试官说我要招一个尽快入职,主要你时间不匹配,说这句话我就知道gg了,不过我会把你简历留着,再招的话可以通知你。

 

滴滴
一面

offer

很奇怪,这面试官不说话。让你自己讲,中间偶尔问下问题

,这是故作高深吗?把毕生功力都展示出来了。

比如我虚地址保护模式是80286开始支持的,描述子里面放读

写权限,地址空间,段基址,加上偏移量完成从虚地址到物

理地址的转换。

CAP理论

mysql能讲的都讲了

netty源码

Java差不多也是的,多线程,thread,runnable,从

cyclebarrier,countdownLatch,线程池到自定义线程池(缓存,拒绝策略,核心数)。


总结:

个人感觉回答面试官问题不必太官方和书面化,腾讯sng招实习被发现照着百度百科念。结果可想而知。用自己的话和理解去回答就好。可能应届生会抱怨设计题,个人感觉尽量去做,把自己平时积累的知识点,思想和能力尽量去展示就好,可能面试官对你的回答期望不是太高。每面完,我就问面试官对我们在校学习有什么建议,无外乎,努力,多写代码多动手,保持持续学习的心态,关注一些新技术。加油你们都是最棒的!别太紧张了,这些技术面面试官人都很好的。目前面了几家聊得都很愉快。

推荐阅读

Lambda表达式和Java集合框架


简单模拟Sping MVC


  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值