系统架构设计师面试

系统架构设计师面试经验页提供了该职位近年来在全国各城市、企业的系统架构设计师面试问题、面试难度、面试感受等信息。
2024-05-21 09:00:00 更新

系统架构设计师面试概况

基于用户贡献的10条系统架构设计师面试经验统计分析得出,结果仅供参考。
面试难度
icon
“困难”
icon
面试感受
“体验不好”
面试来源
猎头推荐
33.3%
网络招聘
22.2%
社会招聘
22.2%
校园招聘
11.1%
内部推荐
11.2%

系统架构设计师面试经验

系统基于用户发布系统架构设计师面试经验的内容丰富度、发布时间等维度,经过综合计算并自动排序后予以展示。
面试官技术流程j2ee常见问题
默认排序
只看精选
面试难度
面试感受
匿名用户
系统架构设计师
未通过未通过
面试过:百度
下午2点的面试,提前半个小时到了。地方偏僻,m停车位很多。前台接待的HR感觉态度就一般,面无表情的,当时就有一种不好的感觉。第一个面试的人很Nice,一上来就先自己介绍,说自己是百度的广告事业部的。然后再问我的情况。感觉这个面试官工作时间不长,问的问题我基本都回答出来了。问到的问题有CPU的三级缓存之类的,问的还是很深入,但是每个问题停留的时间不长,没有刻意纠缠一些细节。不过我停到他说他是广告事业部,随口问了一句这个职位也是广告事业部的吗,得到肯定的答复后有点点被忽悠,因为我对这个广告事业部感觉并不是很好,前阵子负面新闻太多了,特别是医疗广告这块。第二个面试的就态度很差,一上来,什么都不说,就坐在那里抛了一句——“自我介绍一下!”。然后我自己介绍的过程中他也不听,只顾自己看简历,看到简历中一个技术关键名词,就打断我,问这个你做过吗?说做过,然后就说你继续。我自己我介绍介绍到一半,他就打断了,行,不用介绍了,你说说你这个项目中的分布式缓存是怎么做的?态度非常粗暴,感觉是很不情愿过来面试我。别的问题都忘了,就记得就一个分布式事务两段式提交的问题纠缠了半个小时。感觉是在故意刁难,我都已经几次说了这个两段式分布式事务问题很多,PAXOS更好,我对PAXOS了解更多,他还是要继续纠缠二段式提交,让人很无语。最后做一个编程题,自己写代码实现一个Blocking Queue。我对这个面试过程感觉比较失望,就没怎么想,带着情绪随便写了一个Get和Add方法就草草了事。面了一个小时,他让我等一会转身出了房间。我随后也走了出去,上了个洗手间,感觉很不爽,估计肯定没戏,就招呼也没打直接走到电梯口就走了。这样的面试就算有后文,勉强拿到offer,如果以后碰到这样的同事,如何共事?走到一楼,把身上贴的纸片随手撕掉了,结果保安还找我要这个纸牌,态度很拽,那口气就是找不到这个纸牌,就不给我开闸机让我出去的口气。还好在牛仔裤的衣兜里掏出来了。找到车子,发动车子的时候,HR打电话过来问怎么找不到人,我就编了个理由说家里有急事先走了现在开车,没等她还说什么就挂了。总的来说,第一个面试官和第二个面试官面试态度简直是天壤之别,第二个面试官让我几次想中途退出,说今天不想面了,几次差点脱口而出这话。实在在强忍着没有在面试中途发难。现在想想,是我从业以来最难受感觉最不受尊重的面试。...查看更多
包含1个问题,1个回答
Q:Spring MVC如何配置拦截全局的特定Exception
2 年前 发布

查看更多系统架构设计师面试经验

匿名用户
高端技术职位
未通过未通过
面试过:途虎养车网
一面 传值,引用区别 值传递:方法调用时,实际参数把它的值传递给对应的形式参数,函数接收的是原始值的一个copy,此时内存中存在两个相等的基本类型,即实际参数和形式参数,后面方法中的操作都是对形参这个值的修改,不影响实际参数的值。 引用传递:也称为传地址。方法调用时,实际参数的引用(地址,而不是参数的值)被传递给方法中相对应的形式参数,函数接收的是原始值的内存地址; 在方法执行中,形参和实参内容相同,指向同一块内存地址,方法执行中对引用的操作将会影响到实际对象。 java中没有引用传递,只有值传递. equals和== == : 它的作用是判断两个对象的地址是不是相等。即判断两个对象是不是同一个对象。(基本数据类型==比较的是值,引用数据类型==比较的是内存地址) equals() : 它的作用也是判断两个对象是否相等,它不能用于比较基本数据类型的变量。 equals() 方法存在两种使用情况: 情况 1:类没有覆盖 equals()方法。则通过 equals()比较该类的两个对象时,等价于通过“==”比较这两个对象。使用的默认是 Object类equals()方法。 情况 2:类覆盖了 equals()方法。一般,我们都覆盖 equals()方法来两个对象的内容相等;若它们的内容相等,则返回 true(即,认为这两个对象相等)。 hashcode底层 数组+散列函数 string类是一个不变的类,如果string类被改变了,需要将哈希值进行重置,相同的字符串的哈希值是相同的。 springboot特点 1、使编码变得简单 2、使配置变得简单 3、使部署变得简单 4、使监控变得简单 springboot主要特性 1、遵循习惯优于配置的原则。使用springboot我们只需要很少的配置,大多数使用默认配置即可 2、项目快速搭建。springboot帮助开发者快速搭建spring框架,可无需配置的自动整合第三方框架 3、可以完全不使用xml配置,只需要自动配置和Java config 4、内嵌servlet容器,降低了对环境的要求,可用命令直接执行项目 5、提供了starter POM,能够非常方便的进行包管理 6、对主流框架无配置集成 7、与云计算天然集成 Redis缓存 (一)缓存和数据库双写一致性问题 首先,采取正确更新策略,先更新数据库,再删缓存。其次,因为可能存在删除缓存失败的问题,提供一个补偿措施即可,例如利用消息队列。 (二)缓存雪崩问题 缓存雪崩,即缓存同一时间大面积的失效,这个时候又来了一波请求,结果请求都怼到数据库上,从而导致数据库连接异常。 解决方案: (一)给缓存的失效时间,加上一个随机值,避免集体失效。 (二)使用互斥锁,但是该方案吞吐量明显下降了。 (三)缓存击穿问题 即黑客故意去请求缓存中不存在的数据,导致所有的请求都怼到数据库上,从而数据库连接异常。 解决方案: (一)利用互斥锁,缓存失效的时候,先去获得锁,得到锁了,再去请求数据库。没得到锁,则休眠一段时间重试 (二)采用异步更新策略,无论key是否取到值,都直接返回。value值中维护一个缓存失效时间,缓存如果过期,异步起一个线程去读数据库,更新缓存。需要做缓存预热(项目启动前,先加载缓存)操作。 (三)提供一个能迅速判断请求是否有效的拦截机制,比如,利用布隆过滤器,内部维护一系列合法有效的key。迅速判断出,请求所携带的Key是否合法有效。如果不合法,则直接返回。 (四)缓存的并发竞争问题 在不要求顺序执行的情况下,使用分布式锁,大家去抢锁,抢到锁就做set操作即可,比较简单。 二面: 注解: Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制。 Java 语言中的类、方法、变量、参数和包等都可以被标注。 自定义一个实现缓存的注解; 不会,后续更新 spring编写一个分页的插件; 不会,后续更新 过滤器和拦截器区别: Filter是基于函数回调的,而Interceptor则是基于Java反射的。 Filter依赖于Servlet容器,而Interceptor不依赖于Servlet容器。 Filter对几乎所有的请求起作用,而Interceptor只能对action请求起作用。 Interceptor可以访问Action的上下文,值栈里的对象,而Filter不能。 在action的生命周期里,Interceptor可以被多次调用,而Filter只能在容器初始化时调用一次。 Redis设置缓存过期; springmvc过程; (1)客户端(浏览器)发送请求,直接请求到 DispatcherServlet。 (2)DispatcherServlet 根据请求信息调用 HandlerMapping,解析请求对应的 Handler。 (3)解析到对应的 Handler(也就是我们平常说的 Controller 控制器)后,开始由 HandlerAdapter 适配器处理。 (4)HandlerAdapter 会根据 Handler 来调用真正的处理器开处理请求,并处理相应的业务逻辑。 (5)处理器处理完业务后,会返回一个 ModelAndView 对象,Model 是返回的数据对象,View 是个逻辑上的 View。 (6)ViewResolver 会根据逻辑 View 查找实际的 View。 (7)DispaterServlet 把返回的 Model 传给 View(视图渲染)。 (8)把 View 返回给请求者(浏览器) 三面(9.25) 城市的选择 个人经历和一些场景题 期望薪资等等。...查看更多
2 年前 发布
说明:系统架构设计师面试经验内容由看准用户自行上传,仅代表内容发布者个人观点。看准网对相关内容的展示并不代表认同其观点。请用户在使用相关信息或依据相关信息作出决策前自行进一步核实此类信息。