秋招提前批雪崩!面试新浪/滴滴/字节全凉,五面阿里终上岸
本人20年毕业,双非硕士,软件工程专业,0年工作经验,Java后端开发
新浪微博提前批(已凉)
- 先问自我介绍,说一下你认为的团队合作?
- 用过Linux系统吗?常用指令(我说不太了解,就没问)
- 说一下虚拟内存?
- 介绍一下hashmap?
- hashmap和hashtable的区别?
- 算法题:10万行数据,每一行都是一个int类型的数,按数字出现的频次取出现次数最高的10个数
- 输入是一个整形数组,输出:数字+频次
- 思路:可以自己定义一个类,里面key为出现的数字,value为出现的频次
- 然后新建一个容量为10的小顶堆,按照value进行排序。
- 我是用hashmap统计的,然后再对value用小顶堆(priorityqueue)排序,需要把value和key绑定。如果下一个的value小于堆顶则丢弃,大于堆顶则插入。
滴滴提前批面经(已凉)
- JDK JRE JVM的区别?
- JVM是用来执行字节码文件的
- 浏览器输入一个网址会发生什么变化?
- 详细说一下DNS域名解析服务器?DNS用的是什么协议(UDP)
- TCP三次握手,那四次挥手呢?为什么要四次挥手?
- TCP怎么保证可靠通信?
- 超时重传和确认机制
- TCP和UDP的区别?
- TCP是面向连接的,TCP传输的是字节流,TCP只能点对点,保证传输的可靠性
- Spring事务传播机制?(不知道)
- Spring事务隔离级别?(只知道有五种)
- OSI分层模型
- TCP/IP分层模型?
- 网络拥塞一定会导致丢包吗?为什么?
字节教育提前批面经(已凉)
- 线程进程,怎么进行上下文切换的,进程切换的过程?中断?谁去执行中断呢?
- 讲一讲内存分页,怎么进行内存分页
- 100个0~1000的正整数,怎么找到第一个缺失的数
- 两个链表交叉,怎么找交叉点
- 已知rand(5)={0,1,2,3,4,5},怎么生成rand(7)
- 一个1g的数,空间复杂度最小找最小的10个
- 一个10g的文件,内存空间200M,怎么按照出现次数排序。考虑内存。。
- 说一下hashmao,线程安全的hashmap
- 说一下Java中的锁是怎么实现的
- 算法题:
- 1、找一个数字在非严格递增数组中的位置,比如234456找4出现的位置返回{2,3},如果没有返回{-1,-1},因为不太确定先用了二分然后用了中心扩展法,被吐槽时间复杂度太高,后面说了一下单纯二分找左右边界的方法
- 2、链表翻转的递归算法,不会递归的写了非递归,后面尝试递归失败了
阿里六面面经
一面(1h45min)
- 1.自我介绍一下
- 2.介绍一下参与的项目
- 3.问了一下OpenStack与Docker的区别
- 4.问了一下KVM和OpenStack的区别
- 5.spring的IOC底层实现原理
- 6.HashMap的底层原理
- 7.GC策略
- 8.JVM内存模型
- 9.MySQL索引结构
- 10.事务的四大特性
二面(2h)
- 1.自我介绍;
- 2.介绍项目;
- 3.KVM和XEN虚拟化的区别
- 4.如何用JAVA生成永远的ID:UUID(Universally Unique Identifier)
- 5.树的遍历,并非二叉树的遍历
- 6.堆排序的问题
- 7.多线程轮流执行用什么锁??
- 8.AOP的底层原理(动态代理,GClib)
- 9.Object类的方法
- 10.循环依赖如何解决,自己设计几种算法
- 11.快速排序原理,随机快排口述
- 12.iptable实现反向代理
- 13.OVS流表创建
三面(四十分钟)
- 1.自我介绍
- 2.项目
- 3.项目中遇到的难点
- 4.自己平时如何学习的
- 5.Spring源码级的一些理解
- 6.职业规划,未来的发展
- 7.还有什么问题?
四面(交叉面,1h)
- 1.首先问了我发表的论文具体的内容是什么
- 2.虚拟内存知道么?什么时候使用虚拟内存?虚拟内存除了扩大内存还有什么用?
- 3.Spring的上下文切换,如何优化上下文优化来做到减少系统资源消耗
- 4.函数调用约定了解么?Function calling convention
- 5.进程线程的区别,除了包含关系之外的一些区别,底层详细信息
- 6.TCP/UDP 全部内容:三次握手、四次挥手、为什么不能两次,为什么三次,TCP的可靠是怎么实现的,滑动窗口,为什么是2MSL
- 7.边缘网关协议了解么?简单描述一下
- 8.Docker容器相关
- 9.LRU手撸,说下时间复杂度空间复杂度
五面(hr面)
- 1.自我介绍
- 2.项目遇到的难点,如何解决
- 3.如何看待在校阶段
- 4.怎么学习的
- 5.父母如何教育
- 6.如何评价自己的性格
- 7.喜欢自己的研发方向么
- 8.自己的coding语言是什么
- 9.自己认为自己的coding是个什么水平
- 10.为什么选择钉钉
面试复盘
有需要的小编可以免费分享给你一起学习,转发一下文末有完整版免费获取方式
目录:
- 1,大厂面试题都是我码出来的(有些忘记了)
- 2,简历优化(进过大厂的程序员真实简历参考)
- 3,java面试题核心笔记2020版(面试前刷题必备的宝典)
- 4,整合所学的技术栈,做一个实体的项目(学以致用才能提升整体实力)
1,整理总结的一线大厂面试题
2,简历优化
3,java面试题核心笔记2020版
- 目录
4,项目实战
- 微服务电商项目
- 系统架构
功能教程
模块说明
项目截图
项目教程文档(500页)
——————转发文章以后,关注一下我, 点击这里免费获取完整版文档