高级软件工程师和架构师的区别(转)

架构师

倾向于 通信 、 通信框架 、队列和 分布式框架运用以及阿里云和微软现有分布式组件的运用。

高级软件工程师

倾向于 C#基础、 多线程、锁和数据库索引 (队列和通信也会问只是会问的浅一些)

研发经理

包含高级软件工程师问的这些外,还会问管理方面的知识

我面试的三家公司分别面试了三个职位,将知识点进行了一个表格整理,分值越高就意味着问的越深,不能百度之百准确,只当参考。

职位 C#基础 通信 缓存和队列 数据库索引 数据库锁事务 前端 多线程 数据结构 管理 自我介绍 大数据方案 常用框架 项目介绍 逻辑题
架构师 10 100 100 100 80 0 100 100 30 100 100 50 100 100
研发经理 100 50 70 70 50 0 100 80 100 100 60 0 100 50
高级软件工程师 100 50 70 100 100 50 100 50 0 100 70 100 100 60

知识点细讲

C#基础

主要面些 接口、装箱拆箱、值类型引用类型和线程

可以参考面试基础:http://www.codeisbug.com/Doc/4/63

例如:什么是装箱和拆箱,装箱和拆箱为什么会影响性能。这些属于深问细节,所以要做好防问准备。

通信

主要分为Http协议 TCP协基础知知识,通信框架例如开源的Supersocket RestSharp,微软的WCF和Signalr等等的运用和搭建,

更深入的会问到,例如 什么是粘包和osi七层模型等理论知识。

缓存和队列

例如redis框架使用,Redis有哪些数据类型,主从模式如何实现,常用的队列框架有哪些(RabbitMQ和MSMQ)

队列和缓存的区分是什么?非关系型数据库应用场景又是什么?

队列:适合处理高并发,可以看这篇文章理解队列作用:http://www.codeisbug.com/Ask/11/1070

非关系型数据库:适合简单业务数据亿级左右的数据处理,太多、太少或者业务复杂都不适合

缓存:缓存数据也可以当做高性能队列使用

数据库索引

数据库索引是每次面试必问之题,你要了解索引的分类,索引的存储结构,数据存储结构,如何用SQLServer分析SQL执行计划,聚集索引适用于什么场合,聚集索引和非聚集索引的区别

数据库锁事务

例如会问 数据库的隔离级别,数据库有哪些锁,可以参考:http://www.codeisbug.com/Ask/11/1079

前端

你会使用哪些前端框架,如何适应移动端布局等等,这类会问的比较少

多线程

一般会问什么情况会用多线程、LOCK底层实现,多线程性能优化等

数据结构

这个就去看数据结构与算法的书吧,例如什么是二叉树,不要不懂。

管理

一般会问如何管理好团队,去看一本项目管理的书装逼就够用了。

自我介绍

自已准备好,一般说名字 学历,工作经验,幸趣爱好等。不要太长,10句左右差不多背好去面试。

大数据方案

这个一定要了解阿里或者微软的云框架,除此之外还要知道队列如何处理大数据,分布式缓存等,例如hadoop这些名词要了解,你了解什么分布式中间组件。

常用框架

aufac底层原理,aufac有哪些使用模式,依赖注入和控制反转有什么区别,依赖注入的作用,用过哪些ORM他们各自的优点有哪些等。

项目介绍

一般会问你的项目细节,使用了哪些技术

逻辑题

这些都是用排除法的思路去做,或者结合程序算法

原文地址:https://www.cnblogs.com/gougou1981/p/12347096.html

时间: 2024-10-28 11:46:07

高级软件工程师和架构师的区别(转)的相关文章

公开课:如何成为一名高级系统运维工程师(架构师)?

    如何成为一名高级系统运维工程师(架构师)? --老男孩教育赵班长 内容简介: 突破瓶颈,从普通系统运维成长为高级系统工程师.架构师,如何提升,需要掌握哪些技能和知识,公开课上为您解惑. 分享形式: 通过知识体系.技能图谱.生产实践案例.架构解惑.当面问答等多种方式进行. 主要内容:             14:00--15:30:所有内容全部有生产案例架构图送上. l 大型Web架构演变过程 l Web缓存在架构中的应用 l 运维与自动化运维知识体系 l 基于OpenStack构建企业

Atitit. 高级软件工程师and 普通的区别 高级编程的门槛总结

Atitit.  高级软件工程师and 普通的区别 高级编程的门槛总结 1. 完备的知识体系 2 2. 编程理论/原理的掌握 2 1.1. 掌握常用的概念(ORM,IOC,AOP,event driver/mvc 等) 2 1.2. 高级概念(lambda,闭包closure,fp,dsl ) 2 1.3. 元编程MOP  Annotation/attributi 2 1.4. 规则引擎and jbpm 2 1.5. 自己的框架and工具的 2 1.6. 自己的输入法 2 1.7. Uapi 3

【转】】CTO、技术总监、首席架构师的区别

经常有创业公司老板来拜访我,常常会拜托给我一句话:帮我找一个CTO. 我解释的多了,所以想把这个写下来,看看你到底需要的应该是啥. 一.高级程序员 如果你是一个刚刚创业的公司,公司没有专职产品经理和项目经理,你就是公司的产品经理,你如果对你现在的开发员能力不满,那么你只需要的是一个高级程序员. 你定义功能.你做计划推进和管理,他可以带1-2个副手把你规划的功能实现了,他是主力干活者,有技术难题也是他来亲自攻克解决. 所以,一个高级程序员,他的职责很清晰: 1.负责核心复杂功能的实现方案设计.编码

成为高级软件工程师的10个步骤

What 软件工程师的职业生涯要历经以下几个阶段:初级.中级,最后才是高级.这篇文章主要是讲如何通过 10 个步骤助你成为一名高级软件工程师. Why 得到更多的报酬!因为你的薪水会随着你水平的提高而增加 提升你的职业生涯.成为了高级软件工程师之后,就可以朝着架构师.团队负责人.CTO 等职位前进 历经更大的挑战.随着你的成长,各种影响力也会提高. How 软件工程是很难的.这一行业在不断变化中,所以你必须紧跟它的步伐.你必须不断地投入时间和精力,因为你需要学习的东西总是比你能吸收的多.很多新手

论运维工程师,系统工程师,系统架构师的区别

系统架构师主要负责系统前期的拓扑图(蓝图)的规划,搭建. 系统工程师主要负责建设系统架构师的蓝图建设 运维工程师主要负责系统后期的维护.

[转]CTO、技术总监、首席架构师的区别

经常有创业公司老板来拜访我,常常会拜托给我一句话:帮我找一个CTO. 我解释的多了,所以想把这个写下来,看看你到底需要的应该是啥. 一.高级程序员 如果你是一个刚刚创业的公司,公司没有专职产品经理和项目经理,你就是公司的产品经理,你如果对你现在的开发员能力不满,那么你只需要的是一个高级程序员. 你定义功能.你做计划推进和管理,他可以带1-2个副手把你规划的功能实现了,他是主力干活者,有技术难题也是他来亲自攻克解决. 所以,一个高级程序员,他的职责很清晰: 1.负责核心复杂功能的实现方案设计.编码

软考 软件设计师 系统架构师 视频教程

软考介绍: 计算机技术与软件专业技术资格(水平)考试,简称计算机与软件考试,是由国家人力资源和社会保障部与工业和信息化部组织领导的国家级考试,目的是科学.公正地对全国计算机与软件专业技术人员进行专业技术资格.职业资格认定和专业技术水平测试. 系统架构师视频教程:http://item.taobao.com/item.htm?spm=686.1000925.0.0.vXgA34&id=42171953455 软件设计师视频教程:http://item.taobao.com/item.htm?spm

问题集录--Java高级软件工程师面试考纲(转)

如果要应聘高级开发工程师职务,仅仅懂得Java的基础知识是远远不够的,还必须懂得常用数据结构.算法.网络.操作系统等知识.因此本文不会讲解具体的技术,笔者综合自己应聘各大公司的经历,整理了一份大公司对Java高级开发工程师职位的考核纲要,希望可以帮助到需要的人. 当前,市面上有<Java XX宝典>类似的图书,而且图书中的内容都着重在讲解Java最为基础的部分,最严重的是,里面有着大量错误的内容,极具误导性.另外,网上也有各种各样的Java面试题,很多也是着重在Java语言基础上.实际上,如果

.NET高级软件工程师面试题排行榜(转载)

原文引用:https://m.sanwen8.cn/p/104gMSd.html 一.对于 Web 性能优化,您有哪些了解和经验吗? 出现指数:五颗星 主要考点:这道题是博主在博客园的新闻里面看到的,回想之前几年的面试经历,发现此题出现概率还是比较高的.因为它的考面灰常广,可以让面试官很快了解你的技术涉及面以及这些技术面的深度. 参考答案:这个问题可以分前端和后端来说. 1.前端优化 (1)减少 HTTP 请求的次数.我们知道每次发送http请求,建立连接和等待相应会花去相当一部分时间,所以在发