亲历校招面试问答【回顾&记录】
0、先自我介绍一下
博冠智能1面
1、Python列表和元组的区别
列表是动态数组,它们可变且可以重设长度(改变其内部元素的个数)。
元组是静态数组,它们不可变,且其内部数据一旦创建便无法改变。
元组缓存于Python运行时环境,这意味着我们每次使用元组时无须访问内核去分配内存。
2、SQL中的事务(mysql数据库中事务ACID特性是如何实现的)
MySQL 中事务的实现 - 路迢迢 - 博客园 (cnblogs.com)
1、原子性:回滚日志(undo log)
事务的状态也只有三种:Active、Commited 和 Failed
并发事务的回滚:级联回滚
2、持久性:重做日志(redo log)
3、隔离性:通过锁、时间戳、多版本和快照隔离实现隔离级别
四种数据库的事务的隔离级别:READ UNCOMMITED
、READ COMMITED
、REPEATABLE READ
和 SERIALIZABLE
;每个事务的隔离级别其实都比上一级多解决了一个问题:
RAED UNCOMMITED
:使用查询语句不会加锁,可能会读到未提交的行(Dirty Read);READ COMMITED
:只对记录加记录锁,而不会在记录之间加间隙锁,所以允许新的记录插入到被锁定记录的附近,所以再多次使用查询语句时,可能得到不同的结果(Non-Repeatable Read);REPEATABLE READ
:多次读取同一范围的数据会返回第一次查询的快照,不会返回不同的数据行,但是可能发生幻读(Phantom Read);SERIALIZABLE
:InnoDB 隐式地将全部的查询语句加上共享锁,解决了幻读的问题;
以上的所有的事务隔离级别都不允许脏写入(Dirty Write),也就是当前事务更新了另一个事务已经更新但是还未提交的数据,大部分的数据库中都使用了 READ COMMITED 作为默认的事务隔离级别,但是 MySQL 使用了 REPEATABLE READ 作为默认配置;从 RAED UNCOMMITED 到 SERIALIZABLE,随着事务隔离级别变得越来越严格,数据库对于并发执行事务的性能也逐渐下降。
4、一致性:一致性对事务的要求不止包含对数据完整性以及合法性的检查,还包含应用层面逻辑的正确
3、SQL中的索引
SQL索引详解 - 老皮肉 - 博客园 (cnblogs.com)
SQL中的索引 - CHANGEMAX - 博客园 (cnblogs.com)
4、SQL多表查询的方式
(13条消息) 【SQL】—多表查询的几种连接方式_全力奔跑,梦在彼岸-CSDN博客_sql 连表查询
5、string、stringbuffer、stringbuilder的区别
(13条消息) String、StringBuffer与StringBuilder之间区别_itchuxuezhe_yang的专栏-CSDN博客_stringbuffer
6、项目是团体的还是个人的?团体的你谁什么角色做了哪些工作?
7、参加的华为比赛中你做了什么?参加的科大讯飞比赛中你做了什么?
8、硕士期间搞了这么多算法,为什么不找算法岗?
9、常见的java包
第一个包:java.lang包。
该包提供了Java语言进行程序设计的基础类,它是默认导入的包。该包里面的Runnable接口和Object、Math、String、StringBuffer、System、Thread以及Throwable类需要重点掌握,因为它们应用很广。
第二个包:java.util包。
该包提供了包含集合框架、遗留的集合类、事件模型、日期和时间实施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。
第三个包:java.io包。
该包通过文件系统、数据流和序列化提供系统的输入与输出。
第四个包:java.net包。
该包提供实现网络应用与开发的类。
第五个包:java.sql包。
该包提供了使用Java语言访问并处理存储在数据源(通常是一个关系型数据库)中的数据API。
10、AJAX的优点?AJAX异步请求怎样实现?
11、JSP的9大内置对象及其各自作用,forward转发和redircet重定向的区别
12、post和get
山大地纬1面
1、软件工程生命周期
(1)计划和需求分析、设计项目架构、开发和编程、测试、部署
(2)可行性研究阶段、需求分析阶段、软件设计阶段(概要设计&详细设计)、软件测试阶段、软件运行和维护阶段
(3)瀑布模型(声明周期法):计划、需求分析、设计、编码、测试、运行&维护
(13条消息) 软件工程:软件开发生命周期 (SDLC)_Warren Lynch 的博客-CSDN博客_sdlc
(13条消息) 软件开发生命周期汇总_JAVA圈的博客-CSDN博客
2、事务的特性
3、引起死锁的条件
(13条消息) 死锁的四个必要条件和解决办法_半暖的博客-CSDN博客_死锁的四个必要条件
(13条消息) 死锁面试题(什么是死锁,产生死锁的原因及必要条件)_hd12370的博客-CSDN博客_死锁
死锁产生的原因及四个必要条件 - oayx - 博客园 (cnblogs.com)
解决方法:死锁预防、死锁避免、死锁检测和解除
4、MVC架构模式
海康威视1面
1、sychronized关键字的可重入锁
2、java在linux常用的命令,文件相关的常用命令
3、集合大介绍
4、arraylist. linkedlist的应用场景和谁更占内存(linked可以当做队里,忘记说了)
5、springboot和spingmvc的区别
6、springboot底层原理
7、javaGUI用了swing和啥类/接口
8、wait()和sleep()的区别
9、跨域问题,什么情况会出现跨域问题
10、学习过程中的收获
11、未来职业规划
众阳健康1面
java与其他语言的不同(与C/C++等,从编译型&解释型,从跨平台方面回答)
arraylist线程不安全,那么线程安全的list是啥(答的vector,面试官问除了他呢还有啥)好像是copyOnWriteArrayList
集合大全详解
实现线程的几种方式
想让线程返回数据怎么办
线程池了解吗,线程池的各种参数
hashmap扩容原理
hashmap线程不安全,用什么代替,线程安全的map(答的currenthashmap),问currenthashmap是那个包下的
hashmap的遍历方式
arraylist和linkedlist的区别和遍历方式区别
settergetter不想写,用一个什么插件好像
实现分页的逻辑+用mybatis实现分页的逻辑
springmvc中,控制层类及其里面的属性和方法的注解,service层的注解
了解 java.util.concurrent (简称JUC )包吗
众阳健康2面
敏捷开发、springcloud、中台、微服务、云部署系统saas
山大地纬2面
现在让你重做你基础的项目图书馆管理系统,你打算采用什么架构?前后端分离吗(为什么,优缺点),框架使用什么?数据库这块用什么交互,mybatis吗
mybatis的优缺点(优点
相较于传统jdbc的优点?
mybatis有几种模式
说话慢点不用紧张,太快了面试官都没听清你硕士的研究,
重新介绍一下你硕士期间的研究(遥感、卫星、图像、深度学习等概念、特征等)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)