首页 > 编程知识 正文

阿里上机面试题(c++ 面试题)

时间:2023-05-04 04:09:08 阅读:101351 作者:1950

00-1010 Java IO流的层次结构?请说出常见的例外类型?SKU的全名是什么,SKU和SPU的区别和关系?使用文件输入流后,不要关闭该流。想再用一次怎么办?设计一个分布式登录系统?弹簧加载过程?你写过像Spring这样的AOP交易吗?尝试.用Java捕捉关闭流的语法糖?如何设计扣球系统?要考虑什么?你遇到过传入的GC吗?有哪些症状,如何解决?弹簧的加载过程?原子和易挥发有什么区别?线程的notify和notifyAll有什么区别?哪个线程没有被唤醒?Thread.sleep唤醒后我还需要再比赛吗?写清单有几种方法?有什么区别?你经常用哪种简单的例子,为什么用这个?问一个Thread.join相关的问题?商品相关模块系统的数据模型如何设计?写一个JAVA死锁的列表?如何解决僵局?GC恢复算法,及其实现原理?HashMap数据存储结构?如果按键重复呢?怎么解决的?Spring AOP的实现原理,底层实现是什么?

00-1010电话面试主要考查三块内容:

Java基础知识,开源框架原理,JVM,多线程,高并发,中间件等。以前的项目经验,使用的技术,遇到的问题,如何解决,个人的收获和成长;对技术的热情(你平时有没有看一些技术书籍,访问论坛,写博客,写源码或者程序等。);

1. 阿里技术一面

我们主要考察的是网络nio分布式数据库中高并发大数据定制表的实现?动态形态设计?如何调优jvm(必需)和jmm缓存模型?常用的RPC框架nio和io并发编程,设计模式图组件?hashmap有什么漏洞会让他慢下来?如何为hashmap的关键对象设计hashcode?通配符?在什么情况下使用?后端:redis?分布式框架dubbo(阿里巴巴开源框架)?设计模式?基于场景的问题:秒杀,能否列举常见的排队、验证码、库存扣除方式对系统高并发的影响?可以根据实际需要搭建缓存结构来提高网站的访问速度,熟练使用ehcache、oscache,并了解memcache。了解基于dns轮询的负载均衡,熟练配置web服务器实现负载均衡,在程序级通过哈希或模的方式实现软负载。熟悉分布式数据库设计和优化技术,熟悉mysql、oracle、SqlServer等主流数据库,熟悉hadoop hbase mangodb redis ehcache、oscache memcache。对于数据量大的数据库处理,采用子表和子数据库、数据库读写分离、建立缓存等手段优化性能。掌握lucene,可以开发基于lucene的大规模搜索引擎,可以利用lucene对数据库的like查询进行改进和优化。00-1010掌握Java编程语言,包括使用IO/NIO/socket/multi threads/collection/并发等功能;掌握jvm的内存模型(sun hotspot和ibm j9)、gc垃圾收集和调优技巧;精通JVM、JMM、MVC架构,精通使用struts2。熟练使用spring、struts和ibatis构建应用系统。熟悉Servlet、jsp、freemark等前端技术。熟练使用axis构建基于SOAP协议的WebService接口。熟练使用MAVEN构建项目工程。熟悉tomcat和其他网络服务。熟悉mysql等关系数据库,熟悉mysql集群构建。熟悉redis等NOSQL技术。熟悉tcp和http协议。熟悉nginx、haproxy等配置。熟悉javascript、ajax等技术。熟悉主流分布式文件系统FastDFS等。熟悉JMS,能熟练使用ActiveMQ。底层计算机理解如何理解内存管理/数据挖掘系统的可靠性和可用性~jsp和sever lap比较数据库到接口,Character set转换基栈jvm优化cup高,如果我们分析和监控java curb来突出细节,如何分发缓存文档来垂直迁移数据库,如何在前端处理高并发,如何在应用层处理高并发LB设计负载均衡,负载均衡, 防网络攻击数据日志事件监控,通知数据库事务实现的底层机制,字符串空白,以及网络攻击Quartz框架的底层原理数据。 在同步库中,数据

2. 阿里技术二面

缓存的使用不是通过数据库引擎直接读取日志来同步的。如果现在搜索框中的ajax异步请求需要调用一个简单的缓存,它应该使用什么结构?内存中的缓存不能一直存在。使用什么算法定期删除搜索权重低的条目?如何保证TCP红黑树的安全性,B-number JDK1.8中HashMap的增强,如果一个桶中节点太多,链表数组

的结构就会转换为红黑树。项目中使用的单机服务器,如果将它部署成分布式服务器?MySQL的常见优化方式、定为慢查询手写一个线程安全的单例模式

6. 进阿里必会知识:

算法和数据结构数组、链表、二叉树、队列、栈的各种操作(性能,场景)二分查找和各种变种的二分查找各类排序算法以及复杂度分析(快排、归并、堆)各类算法题(手写)理解并可以分析时间和空间复杂度。动态规划(笔试回回有。。)、贪心。红黑树、AVL树、Hash树、Tire树、B树、B+树。图算法(比较少,也就两个最短路径算法理解吧)计算机网络OSI7层模型(TCP4层)每层的协议url到页面的过程HTTPhttp/https 1.0、1.1、2.0get/post以及幂等性http协议头相关网络攻击(CSRF、XSS)TCP/IP三次握手、四次挥手拥塞控制(过程、阈值)流量控制与滑动窗口TCP与UDP比较子网划分(一般只有笔试有)DDos攻击(B)IO/NIO/AIO三者原理,各个语言是怎么实现的NettyLinux内核select poll epoll数据库(最多的还是mysql,Nosql有redis)索引(包括分类及优化方式,失效条件,底层结构)sql语法(join,union,子查询,having,group by)引擎对比(InnoDB,MyISAM)数据库的锁(行锁,表锁,页级锁,意向锁,读锁,写锁,悲观锁,乐观锁,以及加锁的select sql方式)隔离级别,依次解决的问题(脏读、不可重复读、幻读)事务的ACIDB树、B+树优化(explain,慢查询,show profile)数据库的范式。分库分表,主从复制,读写分离。Nosql相关(redis和memcached区别之类的,如果你熟悉redis,redis还有一堆要问的)操作系统:进程通信IPC(几种方式),与线程区别OS的几种策略(页面置换,进程调度等,每个里面有几种算法)互斥与死锁相关的linux常用命令(问的时候都会给具体某一个场景)Linux内核相关(select、poll、epoll)编程语言(这里只说Java):把我之后的面经过一遍,Java感觉覆盖的就差不多了,不过下面还是分个类。Java基础(面向对象、四个特性、重载重写、static和final等等很多东西)集合(HashMap、ConcurrentHashMap、各种List,最好结合源码看)并发和多线程(线程池、SYNC和Lock锁机制、线程通信、volatile、ThreadLocal、CyclicBarrier、Atom包、CountDownLatch、AQS、CAS原理等等)JVM(内存模型、GC垃圾回收,包括分代,GC算法,收集器、类加载和喜悦的冰淇淋委派、JVM调优,内存泄漏和内存溢出)IO/NIO相关反射和代理、异常、Java8相关、序列化设计模式(常用的,jdk中有的)Web相关(servlet、cookie/session、Spring)

7.面试技巧

1、答非所问:

感觉到答案说出来对方会不待见的时候,可以这么做:有关联性的答非所问,注意强调自己的想法,争取让面试官能够共情,比如深圳的房价可以引人共情、电商相关的大平台、稳定、有上升空间等。

2、面试的状态很重要:

两个例子,上月一个成功offer的候选人,非互联网背景,公司也不是一线的,但是面试时表现出对阿里很强烈的兴趣,HR事后特地向我们提到,对这位候选人印象很深刻;

另一位今天刚挂的候选人,两轮技术都是一举拿下,最后HR面挂了,HR给我们的反馈是,候选人刚从自己的创业公司离职,貌似情绪很低落,对自己也没什么想法。

综上所述,面试时既不要唯唯诺诺,过于被动,也不要过于夸张,而是在于展现自己对一个不错机会的尊重和争取,让面试官觉得你对他们,对这个岗位有很大的兴趣。

8. 注意事项

1、阿里比绝大部分公司更看重情怀和梦想

阿里的八字箴言:乐观、聪明、皮实、自省

2、阿里里面的HR都是懂业务的,会结合对候选人的判断和业务的把控进行筛选,不要忽悠他们.......

相信自己,没有做不到的,只有想不到的。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。