本专栏的所有博客,将为大家整理技术一面二面中【面试官问到的真题】,并提供大家答案。
⭐️ 华为 OD 机考 Python https://blog.csdn.net/hihell/category_12199275.html
⭐️ 华为 OD 机考 C++ https://blog.csdn.net/hihell/category_12199283.html
⭐️ 华为 OD 机考 JS https://blog.csdn.net/hihell/category_12201825.html
⭐️ 华为 OD 机考 JAVA https://blog.csdn.net/hihell/category_12201821.html
⭐️ 华为 OD 机考真 C 语言 https://blog.csdn.net/hihell/category_12225286.html
⭐️ 华为 OD 机考 Golang https://blog.csdn.net/hihell/category_12231589.html
所有问题都来自通过华为 OD 机考通过人员反馈信息。
每篇博客会涉及 7 个面试题,题目和答案仅供参考~
@Component // 添加注解声明该类是一个 Bean
public class MyBean {
// 类实现
}
<context:component-scan base-package="com.example" />
<bean id="myBean" class="com.example.MyBean" />
<bean id="myBean" class="com.example.MyBean" init-method="init" destroy-method="destroy">
bean>
<bean id="myBean" class="com.example.MyBean">
bean>
@Component // 添加注解声明该类是一个 Bean,这个 Bean 将被 Spring 加载到容器中
public class MyBean {
// 类实现
}
<context-param>
<param-name>contextConfigLocationparam-name>
<param-value>/WEB-INF/spring/applicationContext.xmlparam-value>
context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class>
listener>
<servlet>
<servlet-name>MyServletservlet-name>
<servlet-class>com.example.MyServletservlet-class>
<init-param>
<param-name>contextConfigLocationparam-name>
<param-value>/WEB-INF/spring/myServlet-context.xmlparam-value>
init-param>
servlet>
public class NonSpringBean {
// 类实现
}
@Component
public class MySpringBean {
private NonSpringBean nonSpringBean;
@Autowired
public MySpringBean(NonSpringBean nonSpringBean) {
this.nonSpringBean = nonSpringBean;
}
public void doSomething() {
// 使用非 Spring 管理的 Bean
nonSpringBean.doSomethingElse();
// 让非 Spring 管理的 Bean 来操作 Spring 管理的 Bean
nonSpringBean.setSomeProperty(this.someProperty);
}
}
@Configuration
public class AppConfig {
@Bean
public NonSpringBean nonSpringBean() {
return new NonSpringBean();
}
}
public class MyRunnable implements Runnable {
// 共享变量
private volatile int count = 0;
private AtomicInteger atomicCount = new AtomicInteger(0);
// synchronized 方式
public synchronized void incrementCount() {
count++;
}
// Atomic 方式
public void incrementAtomicCount() {
atomicCount.incrementAndGet();
}
@Override
public void run() {
// 加锁方式
synchronized (this) {
incrementCount();
}
// 使用 volatile 关键字
incrementCount();
// 使用 Atomic 类型
incrementAtomicCount();
}
}
// 使用 synchronized 容器
List<Integer> synchronizedList = Collections.synchronizedList(new ArrayList<>());
Map<String, Integer> synchronizedMap = Collections.synchronizedMap(new HashMap<>());
// 使用并发容器
ConcurrentMap<String, Integer> concurrentMap = new ConcurrentHashMap<>();
CopyOnWriteArrayList<Integer> copyOnWriteArrayList = new CopyOnWriteArrayList<>();