2023届实习以及秋招面经总结

阿里菜鸟简历面

1、TCP/IP模型(四层)2、传输层的作用、网际层的作用3、302状态码、哪些场景会用到 302状态码4、用Spring框架比不用Spring框架的好处5、Spring框架的 IoC 和 AOP6、AOP 是如何实现的7、如何实现动态代理8、HashMap的底层数据结构,为什么要用红黑树、什么时候会用到红黑树、红黑树的好处9、怎样会导致死锁、如何解决死锁问题10、在多线程环境下使用Map,如何解决线程安全问题11、TCP三次握手12、问做项目的时候遇到过什么问题13、问自己的哪些优势是别人没有的14、反问。

亚信科技

1、对数组、Hash了解多少,以及底层实现原理,操作,区别2、说下 Array 和 ArrayList 的区别3、讲一下SSM,SpringMVC的工作流程,Spring、MyBatis的作用

华勤

1、介绍下项目2、一个后台管理系统至少需要几个模块3、Java 数据类型4、String 为什么是引用类型,为什么不可以改变,如果想改变怎么做5、什么是线程安全在堆内存中的数据由于可以被任何线程访问到,在没有限制的情况下存在被意外修改的风险。即堆内存空间在没有保护机制的情况下,对多线程来说是不安全的地方,因为你放进去的数据,可能被别的线程“破坏”6、StringBuilder线程不安全为什么我们还用它7、讲讲集合8、如何遍历 Map9、如何取 Map 的值10、重写和重载、抽象类和接口、文件流操作11、多线程这块用过吗12、讲一讲生产者和消费者模式13、MySQL中常用的组函数14、MySQL 日期怎么转换字符串,字符串怎么转日期15、说一说 JVM

淘麦浪

1、HashMap 数据结构是什么,怎么确定Hash桶数组的的索引,为什么与上数组长度减一2、讲一讲线程池,线程池参数,核心线程数10个,最大线程数20个,再进来个任务,会怎样3、讲一讲volation关键字,它如何保证有序性,指令为什么会出现无序性,无序是随机还是4、JVM运行时数据区,对象实例放哪,对象实例只会在堆上分配吗5、InnoDB索引结构,B+树和B树区别,为什么用B+树6、创建了一个联合索引,表里有a、b字段,创建了a、b联合索引,通过b查,能命中这个索引吗7、事务的隔离级别,举了个可重复读的例子8、为什么能通过隔离级别得出不同结果

天源迪科

自我介绍

介绍项目业务、技术看你项目中用到了ThreadLocal,讲一讲项目中是怎么用的ThreadLocal

帖子的信息存在哪、点赞信息存在哪

点赞存在redis是以什么数据结构存的

讲一下AOP在项目中的应用

redis的其他数据结构

MySQL的索引讲下

介绍下B+树

HashMap是线程安全的吗?知道为什么不是吗

讲下ArrayList和LinkedList

创建线程的方法有几种

创建线程时run()和start()方法有什么区别

了解Fink大数据这方面的东西吗

更感兴趣的是技术方面和业务方面

做项目的时候遇到了什么问题

反问

面试已过

秋招面经

葡萄城

1、介绍下项目2、讲下私信模块、登录认证3、系统中用户如何存储的,密码呢,密码如何加密,数据库表是自己做的吗?为什么选MySQL(MySQL的优点4、讲下Java中的集合,在实际场景中用到的集合5、有一个场景需要使用集合,用Arrray还是ArrayList6、你对面向对象熟悉吗,讲一下。7、讲一下方法重载8、讲一下类里面的属性和普通字段算法:1、统计字符串中字符出现最多的字符;2、用面向对象模拟五子棋

烽火星空(一面)

JVM:

1、讲一下JVM的组成部分2、内存溢出和内存泄漏的区别3、如何判断对象可以被回收4、常见的垃圾回收器5、讲一下CMS 收集过程(四个步骤)6、CMS收集时会暂停用户线程吗7、讲一下类加载过程(详细说说)

Java基础:

1、JVM、JRE、JDK的关系2、面向对象的三大特征3、设计模式了解吗(讲一下单例模式(单例模式有几种写法)),知道设计模式的三大类吗4、String可以被继承吗?5、String、StringBuilder、StringBuffer区别及使用场景6、Java创建对象的几种方式(为什么要用反射创建对象)7、讲一下深拷贝和浅拷贝8、Java中的集合有哪些?9、ArrayList和LinkedList的区别(从底层结构说)10、HashMap的数据结构,它是线程安全的吗11、如果在多线程下用Map,用哪个(ConcurrentHashMap)12、ConcurrentHashMap 如何保证线程安全

计算机基础:

1、栈和队列的区别2、常用的数据结构3、链表和双向链表有什么区别4、Linux中常用命令(查看进程的命令)5、TCP三次握手和四次挥手6、HTTP中get 和 post 方法的区别

数据库:

1、Redis的数据类型2、Redis为什么这么快3、影响Redis速度慢的原因是什么4、Redis 和 MySQL的区别项目:介绍下项目,项目中的哪些东西放在Redis中,哪些存到了MySQL中

其他:

了解大数据吗,比如Hadoop等。会用Kafka吗?(公司的方向就是大数据)

烽火星空(二面)

基本情况:在学校获得过国家奖学金没、在校成绩,参加过什么社团,担任什么职务,发表过什么论文、专刊

讲一下项目有没有搜索功能,搜索功能如何实现项目中安全问题,数据传输

如何保证安全项目中如何保持登录状态,为什么要存到redis中

redis除了快,还有什么优点

数据过期了如何清理

比如这个网站,性能不太好,登录太慢,如何处理。

linux上,如果redis连不上了,该怎么处理(查看服务端进程,查看redis的日志信息,看报错信息)

新国都

hr面和技术面交叉进行,hr面完就没消息,挂了

腾讯云智(一面)

自我介绍

讲了下公司的技术栈

问了操作系统的一些知识。

讲下三次握手(还问了计网的一些,记不起来了)

讲下JVM的主要组成

还问了一些问题,记不起来了

共享屏幕写一个快排。

京东方

讲一下反射

讲一下AOP

如何优化SQL(不考虑索引)

MySQL的锁粒度

Redis 的数据一致性

如何保证redis的热点数据不过期

了解MyBtis的二级缓存

讲一下对象的结构

如何判断对象是否过期

可达性分析需要判断几次

讲一下B+树

在项目中有用过并发没

一面过了后发了笔试,笔试做完没消息,应该挂了

网新恒天(一面)

自我介绍

Java集合中HashMap的应用场景,如何判断key的唯一性

要求写个方法,求和1+2+...+n,不能用if和循环,你的思路(递归)。其他的还有没

Java中怎样判断一个对象是垃圾

自己写两到三行代码,编译通过后,在这中间判断哪个对象是垃圾

创建一个垃圾出来

数据库的自连接是一个什么应用场景

有一张表,有雇员的id,姓名,部门经理的编号(部门经理也是一个雇员),写一个sql,查出来雇员的姓名和雇员对应的部门经理的编号

框架里面有许多注解,实现一个自定义的注解

Controller里面前端请求发过来常见的注解

网新恒天(二面)

自我介绍

对未来的职业发展有什么规划

英语怎么样,说几句英语口语

介绍了下项目组喜欢大型项目还是迭代较快的项目

在校情况、何时可以去实习

二面没有针对技术和项目反问

网新恒天(hr面)

问了职业发展规划,在校情况。拿到了offer

深信服(技术服务)

群面:

给了一个开放性问题,无领导小组讨论

一面:

问了在校情况,以及在校项目。大学期间发生的事情问了计网的一些八股。

二面:

和一面问的差不多,都是过往经历以及计网的一些问题

线下hr面:

问了对公司的了解,以及对职位的了解,个人的发展规划已拿到offer

#我的2022年终复盘#
全部评论
老哥,问一下网新恒天,英语口语是怎么说的
点赞 回复 分享
发布于 2024-06-18 11:13 河南

相关推荐

05-02 01:34
已编辑
蚌埠坦克学院 Java
3.18 零一悦动一面(25min)1.自我介绍2.实习项目介绍:实习前后端都自己写吗?实习中数据库是自己设计吗?3.java数据类型4.异常类型(忘了)5.数据库的事务讲一下6.索引使用上有什么问题要注意7.Bean的生命周期7.消息队列讲一下,消息队列的优缺点,说了异步,解耦,还有短链接里面怎么用的,优缺点回答的是解耦性能好,缺点是太重了,并发量达不到就不用8.JVM垃圾回收(说还不熟悉)6.高并发的情况下如何处理(感觉问的很笼统)回答了使用redis做缓存,缓存三大问题,还有使用mq做异步,用sentienl做限流7.排序算法和时间复杂度空间复杂度8.深度优先和广度优先9.讲一下动态规划10,你最近怎么学习一门新技术11.你觉得ai怎么样12.你的职业规划反问:3天出结果,还有一轮面试后续:一面挂3.18 云测Testin一面(30min)1.自我介绍2.介绍一下实习做了什么3.实习的难点、遇到的困难4.Mysql索引怎么优化的,优化的3.2s怎么测的,实际数据怎么来的5.自己怎么学的技术6.redis缓存在实习中怎么使用的7.查询语句优化怎么优化的8.DB-router中aop遇到的切面失效的问题嘛?还有ThreadLocal底层还有用久了有什么问题嘛、10.算法刷了多少11.运维有做吗?Linux命令11.目前找实习的情况12.规划后续一面挂3.19 泛微网络一面(18min)1.自我介绍3.问实习干了啥,实习公司主要是做什么的4.技术面:5.SaaS短连接介绍一下6.redis怎么使用的?有哪些情况7.Sharding-jdbc是怎么使用的6.spring事务讲一下7.mysql了解哪些?讲了索引和事务8.什么是回表9.事务隔离级别讲一下后续:因为异地挂3.24 亚信科技(北京一面)15min1.自我介绍2.介绍一下SaaS短链接项目3.介绍一下DB-Router项目4.你实习用了Activity工作流,请问工作流中用户权限这块是怎么做的?(不太清楚)5.ArrayList和LinkedList的区别6.synochroniezd和lock的区别后续,oc已拒3.28 中点金信一面(25min)1.介绍公司的主要业务和工作形式2.自我介绍3.问实习做了啥4.问项目主要是干啥5.JVM了解吗?5.sql调优怎么调6.你自己遇到的问题是怎么解决的7.反问:主要办公形式:驻场二开后续:二面聊天二面挂:面评是对出差和加班有抵触心理,这个绷不住了4.09百应科技一面(25min)1.自我介绍(40s左右,之后扩展一些内容)2.介绍一下实习做的事情3.在处理多线程方面要注意哪些方面4.在Java里面还有什么实现锁的方式5.currentHashMap底层是如何实现的6.redis做发布订阅是如何选型的7.redis做发布订阅是如何解决丢失消息8.分布式事务如何做统一回滚的?9.redis集群的部署模式有几种?10.并发访问Mysql同一条记录的时候mysql锁机制如何运行的?11.Mysql事务隔离级别,不同隔离级别的差别是什么?12.Mysql主键索引和二级索引他们底层数据结构有什么不一样?13.有个场景:一条带普通索引的sql执行的整个流程是怎么样的?14.RocketMQ在broker是怎么存储消息的?(不是很清楚)15.rocketmq的重试策略和频率16.分布式锁用什么实现的?17.redis常用数据结构18.redis的set中nx和ex有什么不同19.redis主从集群中set一个数据在主从中是怎么存储的?20.jvm中新生代是通过什么策略迁移到老年代当中(不会)21.垃圾回收cms和g1有什么不同?22.线程池的一些框架是如何初始化和销毁线程的?一面挂4.08 高顿教育一面(20min)只记得一部分问题1、简单介绍一下路由组件的项目的流程2、mybatis缓存机制3、mybats组件拦截说一下4.ThreadLocal不会出现内存泄漏问题吗5.双重判定锁介绍一下6.线程安全的集合类有哪些7.StringBuffer和StringBuilder区别8.sleep和wait的区别9.MQ如何保证消息丢失问题和重复消费问题10.spring的bean是线程安全的吗?总结:很多问题口齿不清,逻辑不是很清楚,但是面试官那边麦也不清楚。高顿教育二面(20min)主要聊技术的学习还有本质(答得一塌糊涂),sql优化,redis集群,go和java的本质区别问有没有了解zoomkeeper、ES相关技术,一问三不知吹牛说RAG了解,结果问缩写是啥都不知道总结:问题问得很模糊很抽象,不知道他想问啥,回答的时候也经常被打断,吹牛RAG也吹大了后续oc已拒       
点赞 评论 收藏
分享
好伤心,面试官结束时候评价是整体还行,等视频挂了5分钟内收到感谢信这前后反差,我只好安慰面试官尊重自己,但是谁来安慰我呀面试上来开始问八股1,说说 url到浏览器页面显示整个过程2,http 缓存3,流式输出,你知道哪些可以实现的方式?AI生成到前端你觉得采用那种方式?3,css 设置的元素要不断旋转,怎么写(不到一分钟面试官问我是否会,不会可以换一题,那我还行想到用什么,那换一题吧)keyfram 里面设transform;animation 里面应用设定的spin;代码如下:(linear 匀速转,infinite 无限循环)@keyframes spin {    from {        transform: rotate(0deg);    }    to {        transform: rotate(360deg);    }}.spinner {    animation: spin 2s linear infinite; /*持续2秒 转一圈*/}4,输出解释题:function app() {    const [count, setCount] = useState(0)    useEffect(() => {        const interval = setInterval(() => {            console.log('useEffect')            setCount(count + 1)        }, 1000)    }, [])     return (        <div>            <h1>{count}</h1>        </div>     )}会输出打印什么?h1位置 count 显示什么那当然每隔1s 打印出0,页面显示也是05,好的,你分析他原来想要实现什么效果,然后现在这段代码怎么改能实现预期效果,你有几种方式?【用useRef 、手写update函数,设定count 动态依赖项,使用setTimeout 递归(但是容易爆栈)】我当时有点懵,当然是没考虑到function app() {    const [count, setCount] = useState(0)    const countRef = useRef(count);    useEffect(() => {        setInterval(() => {            console.log('count', count);            // setCount(count + 1)            setCount(countRef.current + 1)        }, 1000)    },[])    useEffect(() => {       const update = () => {        console.log('update')        setCount(count + 1)         setTimeout(update, 1000) // 递归调用, 会导致栈溢出       }        update(); // 初始调用    })    useEffect(() => {        const interval = setInterval(() => {            console.log('useEffect')            setCount(count + 1)        }, 1000)    }, [count]) // 动态依赖,但是频繁定时器创建和销毁    return (        <div>            <h1>{count}</h1>        </div>     )}7,输出顺序是什么?function app() {        promise.resolve().then(() => {        console.log('promise')    })    useEffect(() => {        console.log('useEffect')    }, [count])    useLayoutEffect(() => {        console.log('useLayoutEffect')    }, [count])    return (        <div>            <h1>{count}</h1>        </div>     )}输出:useLayoutEffect promiseuseEffectuseLayoutEffect(dom更新后,相当浏览器刷新渲染了,立即同步执行)、promise (微任务,在同步执行完清空微任务队列)useEffect(异步执行,事件循环后执行)期间问了useLayoutEffect 和 useEffect 区别8,看下面输出什么?(弱弱心想:不能出点其他的吗?)function Foo() {    getName = function () {        alert(1);    }    return this;}Foo.getName = function () {    alert(2);}Foo.prototype.getName = function () {    alert(3);}var getName = function () {    alert(4);}function getName() { alert(5); }Foo.getName(); // 2getName(); // 4Foo().getName(); // 1getName(); // 1new Foo.getName(); // 2new Foo().getName(); // 3new new Foo().getName(); // 3看这是金典js输出,但是解释起来费劲呀,解释不断问我:变量提升到哪,函数提升到哪,可以修改一下代码看看提升到的位置,new 关键字分析一下,作为普通函数调用还是.... (问下牛友,这种题目去那找能复习到呀)9,写个sum函数实现下面输出:console.log(sum(1,2,3).sumOf()); // 6console.log(sum(1,4)(2).sumOf()); // 7console.log(sum(1)(2)(3)(4).sumOf()); // 10function sum(...args) {    let total = args.reduce((acc,cur) => acc + cur,0);    function innerSum(...newArgs) {        total += newArgs.reduce((acc,cur) => acc + cur,0);        return innerSum;    }    innerSum.sumOf = () => total;    return innerSum;}console.log(sum(1,2,3).sumOf()); // 6console.log(sum(1,4)(2).sumOf()); // 7console.log(sum(1)(2)(3)(4).sumOf()); // 10
点赞 评论 收藏
分享
评论
20
105
分享

创作者周榜

更多
牛客网
牛客企业服务