电脑知识
少儿编程招聘面试题(面试少儿编程老师常见问题)
2023-04-12 10:06

分享一次黑马讲师的面试经历。主要分三轮进行的,第一面线上技术面,第二面制作一个试讲课件和视频给他们考核,第三面线下现场技术面。

一面是常见的面试思路,讲项目然后根据项目里用的技术做一些常规面试题的提问,问题没有发散特别远,就看大概技术栈使用情况。

二面录视频题材不限,时长20-30分钟。我选择了录制一个单例模式的教程。结果说内容太多了,只用拿一种单例模式的实现形式就可以了。一开始我以为现在的培训机构都是针对在职有经验的程序员提升呢,回头才发现他们主要搞没经验的转职业的人的培训,我心想这环境还有这么多人这么干吗。然后就又重新录了一个,针对新手为受众的教程。这中间我也看了下b站的黑马程序员讲师怎么讲的单例模式,看得出来就是给基础班讲的。那种我觉得真是有个概念就行了,以为真是那样或者工作中就那么用会很危险(比如不考虑线程安全问题等),有点误人子弟的感觉。不过结果没想到,学着这样给小白讲的课程通过了,约了三面。

三面在他们传智播客总部(收购了黑马),两个人轮番问,一开始就是一堆八股文,还是以经典的redis穿透雪崩之类的开头。然后另一个就问一些业务知识,我觉得这个是最搞笑的,可能是看我金融行业背景,就问一些国内银行相关的概念性之类的问题,实际上我做的是海外的,有些东西确实对不上他的。我能感觉到的是,可能他百度了一些相关东西准备问。还有就是一种质疑的态度问业务逻辑和怎么做的,尽管类似的问题我都答过了,可能面试官觉得不符合他的预期答案,但我那都是真实的研发经验。其实做久了课程,多少也会和实际研发有脱节的。

还有就是问了很多中间件(xxljob,nacos,kafka等)使用上的问题,侧重点都是哪些哪些更丰富的使用之类。就那种针对这些中间件的官网文档来提的。这些使用手册应该是没啥人背的,最多是针对一些具体场景理解或背背底层原因和解决思路。

最后结果也就可想而知不好了,如果你也打算面这种,针对小白的培训讲师面试,建议一定要搞清楚他们想要的是哪种类型,哪方面有优点的人。

1.[来看我]Java创建对象实例方法[来看我]

使用new关键字

User u1 = new User("1","2","3");

使用反射

User u2 = User.class.newInstance();

使用clone

User u3 = User.class.clone();

2.[来看我]对a,b,c,d排序[来看我]

List list = new ArrayList({a,b,c,d});

java.util.Collections.sort(list);

3.[来看我]mybatis中#和$区别及使用场景[来看我]

#{}(预编译)预处理之后可以预防SQL注入;而${}在预编译之前就已经被替换。

order by后的排序字段,表名,列名,因为需要替换为不变的常量

mybatis能使用#{}的时候尽量使用#{}

表名,order by的排序字段作为变量时,使用${}

#不需要关注数据类型,mybatis实现自动数据类型转换;$不做数据类型转换,需要自行判断数据类型

#是预编译的方式,$是直接拼接;

4.[来看我]如何避免SQL注入[来看我]

PreparedStatement(简单又有效的方法)使用正则表达式过滤传入的参数

字符串过滤

JSP中调用该函数检查是否包含非法字符

JSP页面判断代码

5.[来看我]String常用方法[来看我]

char[] data = str.toCharArray();//将字符串变为字符数组

indexOf(); //返回指定字符处的字符

charAt();//返回指定索引处的字符

replace();//字符串替换

trim();//去除字符串两端的空白

split();//分割字符串,返回分割后的字符串数组

getBytes();//返回字符串的byte类型数组

length();//返回字符串的长度

toLowerCase();//字符串转小写

toUpperCase();//字符串转大写

subString();//截取字符串

equals();//字符串比较

6.[来看我]Spring中IOC及AOP[来看我]

IOC:控制反转,就是把对象的创建交给Spring来做

xml配置文件

dom4j解析XML文件

工厂设计模式

反射

AOP:底层实现原理,动态代理

7.[来看我]final在Java中有什么作用?[来看我]

final修饰的方法不能被重写

final修饰的变量叫常量,常量必须初始化,初始化之后值就不能被改变

8.[来看我]如何将字符串反转?[来看我]

使用StringBuilder或者StringBuffer的reverse()方法

9.[来看我]说一下HashMap的原理?[来看我]

HashMap概述:

HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。

HashMap的数据结构:

在Java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用);所有的数据结构都可以用这两个基本结构来构造的,HashMap也不例外。

HashMap实际上是一个“链表散列”的数据结构,即数组和链表的结合体。

当我们往HashMap中put元素时,首先根据key值的HashCode重新计算出Hash值,根据Hash值得到这个元素在数组中的位置(下标),如果该数组在该位置上已经存放了其它元素,那么在这个位置上的元素将以链表的形式存放,新加入的放在链头,最先加入的放入链尾。如果数组中该位置没有元素,就直接将该元素放到数组的该位置上。

需要注意Jdk1.8中对HashMap的实现做了优化,当链表中的节点超过8个之后,该链表就会转成红黑树来提高查询效率,时间复杂度从原来的O(n)到O(logn)。

加载因子是0.75;加载因子太小,table需要不断的扩容,影响put效率;加载因子太大,会导致碰撞越来越多,链表越来越长(转红黑树)影响效率;所以0.75是一个比较理想的中间值

10.[来看我]tcp为什么要三次握手,两次不行吗?为什么?[来看我]

为了实现可靠数据传输,TCP协议的通信双方,都必须维护一个序列号,以标识发送出去的数据包中,哪些是已经被对方收到的。

三次握手的过程即是通信双方相互告知序列号起始值,并确认对方已经收到了序列号起始值的必经步骤。

如果是两次握手,至多只有连接发起方的起始序号能被确认,另一方选择的序列号则得不到确认。

11.[来看我]Redis有哪些数据结构?[来看我]

字符串String、字典Hash、列表List、集合Set、有序集合SortedSet。

闭包前端面试题:什么是闭包?

前端面试题:闭包的优缺点?

前端面试题:闭包得适用场景?

前端程序员春招路上

不要错过春招的脚步

面试题刷起来

#vue# #前端# #JAVA# #闭包##编程# #程序员#

发表评论
0评